2012-08-29 13 views
12

मेरे पास मेकफ़ाइल है जहां मैं इनपुट से मॉड्यूल नाम पढ़ना चाहता हूं और उसके बाद निर्देशिका के नाम पर निर्देशिका बनाना चाहता हूं। यहां मेरे कोड है:मेकफ़ाइल में इनपुट वैरिएबल पढ़ें और इसके नाम पर सेट वैरिएबल

build: 
    @read -p "Enter Module Name:" module; 
    module_dir=./modules/$$module 
    mkdir -p $$module_dir/build; 

लेकिन module_dir सेट करने के बाद, यह केवल ./modules/ (कोई मॉड्यूल का नाम concatenated के साथ) शामिल हैं।
मेरे कोड में क्या गलत है? अपने जवाब

उत्तर

36

अपनी ही subshell में प्रत्येक कमांड रन के लिए

धन्यवाद इतना चर एक आदेश से अगले करने के लिए जीवित नहीं रह सकते। उन्हें एक ही पंक्ति पर रखें और वे काम करेंगे:

build: 
    @read -p "Enter Module Name:" module; \ 
    module_dir=./modules/$$module; \ 
    mkdir -p $$module_dir/build 
+0

+1 पृष्ठभूमि प्रदान करने के लिए – migu

संबंधित मुद्दे