एक "स्थापित करें" - एक "ड्राई रन" या सिम्युलेटर उपयोगिता के चलने का अनुकरण करें?


13

क्या एक बैश स्क्रिप्ट चलाने और उस परिणाम को देखने वाले आदेशों को देखने का एक सामान्य तरीका है, लेकिन वास्तव में कमांडों को चलाना नहीं है - यानी "ड्राई रन" / सिम्युलेटर ऑफ सॉर्ट्स?

मेरे पास एक डेटाबेस स्थापित स्क्रिप्ट है (वास्तव में चलाने के बाद "स्थापित करें"। / कॉन्फ़िगर करें और बनाएं) जो मैं चलाना चाहता हूं, लेकिन यह सभी प्रकार के सामान स्थापित कर रहा है जो मुझे नहीं चाहिए।

तो मैं वास्तव में इसे चलाने से पहले वास्तव में क्या करने जा रहा हूं, यह देखने का एक तरीका है - शायद इसके बजाय हाथ से कमांड भी चलाएं।

क्या कोई उपयोगिता है जो इस तरह के कार्य (या कुछ भी संबंधित / समान) कर सकती है?


मुझे लगता है कि 'सेट-एन' ऐसा कुछ करता है। साथ ही -x जोड़ने का प्रयास करें।
जेफ स्कालर

मैं सेट -n पर "इंस्टॉल" कैसे करूं?
वेअर्स

bash -n make install, लेकिन इससे man bash: "एक इंटरैक्टिव शेल इस विकल्प को अनदेखा कर सकता है।"
pfnuesel

में कोई ड्राईरन विकल्प नहीं है bash। यहां भी देखें stackoverflow.com/questions/19115156/…
pfnuesel

जवाबों:


17

GNU मेक में ड्राई-रन करने का विकल्प है:

'-N'

'--Just प्रिंट'

'--पूर्वाभ्यास'

'--Recon'

"नहीं-op"। कारण उन व्यंजनों को प्रिंट करने के लिए होते हैं जिन्हें लक्ष्य बनाने की आवश्यकता होती है, लेकिन वास्तव में उन्हें निष्पादित नहीं करते हैं। ध्यान दें कि कुछ व्यंजनों को अभी भी निष्पादित किया जाता है, यहां तक ​​कि इस ध्वज के साथ भी (देखें कि कैसे परिवर्तनशील कार्य करता है)। इसके अलावा शामिल किए गए मेकफाइल्स को अपडेट करने के लिए आवश्यक किसी भी व्यंजनों को अभी भी निष्पादित किया जाता है।

तो आपकी स्थिति के लिए, केवल make -n installउन कमांड को देखने के लिए चलाएं जो makeनिष्पादित करेंगे।


5

किसी भी संस्करण makeमें एक -nविकल्प है ( POSIX विवरणmake देखें ), लेकिन शेल का कोई भी विकल्प नहीं है (उदाहरण के लिए उन्हें निष्पादित किए बिना आदेश दिखाएं )।

स्थिति को बढ़ाने के लिए, यदि आप स्वचालित का उपयोग करते हैं, तो यह बॉयलरप्लेट स्क्रिप्टिंग के बड़े हिस्से में चिपकाता है (जो इसके डेवलपर्स "पुनरावर्ती नियमों" के रूप में संदर्भित करते हैं) जो किसी को भी "मे-एन" का उपयोग करने की क्षमता को पराजित करते हैं और देखेंगे कि क्या होगा होता है।

आगे की पढाई:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.