मुझे यकीन नहीं है कि मैं शेफ सशर्त निष्पादन को समझता हूं।शेफ को समझना केवल_if not_if
मैं पर किया जाए या नहीं एक डेटाबेस Postgresql
में मौजूद हैतो यहाँ आधारित कुछ सशर्त निष्पादन करना चाहते हैं मेरी उदाहरण है
execute "add_db" do
cwd "/tmp"
user "dbuser"
command "createdb -T template_postgis mydb"
not_if 'psql --list|grep mydb'
end
रनिंग लौट psql --list|grep mydb
अगर db मौजूद है कि तुम क्या उम्मीद करेंगे (dbname प्रविष्टि के साथ लाइन) और कुछ भी नहीं अगर यह नहीं करता है।
तो यह कैसे मूल्यांकन नहीं करता है? सही या गलत? 1 या 0? अगर वे सफल होते हैं तो सभी प्रक्रियाएं 0 वापस नहीं आती हैं?
कोई भी जो किसी भी सलाह की सराहना की जाएगी!
मेरी स्थिति थोड़ा अंतर था, इसलिए मैं भविष्य में उपयोगकर्ताओं के लिए यहां एक ऐसी स्थिति में एक नोट छोड़ दूंगा जो यहां उतरा। मान लें कि आपके पास एक विशेषता 'नोड [' myattr '] = true' है, तो यदि आप' only_if नोड ['myattr'] लिखते हैं, तो शेफ शिकायत करेगा। मैंने पाया कि आपको घुंघराले ब्रेसिज़ में कथन को संलग्न करने की आवश्यकता है, यानी। 'only_if {नोड ['myattr']}' – apatrick