वर्णन स्ट्रिंग की एक सरणी निष्पादित करें मैं एक सरणी में स्ट्रिंग के रूप में संग्रहीत कमांड लाइनों का एक सेट निष्पादित करने के लिए संघर्ष कर रहा हूं। मेरे कोड इस तरह दिखता है:खोल कमांड
arr=("sudo apt-get update" "sudo apt-get install xxx")
...
arr=(${arr[@]} "ln -s /path1 /path2")
etc...
# Then I loop on the array of command
for ((i = 0 ; i < ${#arr[@]} ; i++))
do
eval ${arr[$i]}
done
यह सरणी पर लूप करते हैं, सरणी में संग्रहीत आदेश की संख्या से अधिक है। के रूप में अगर मेरे तार में खाली रिक्त स्थान अधिक तत्वों में सरणी विभाजित एक ठेठ ouput
की तरह इस तरह केusage: sudo -h | -K | -k | -L | -V
केवल 'sudo' स्ट्रिंग के भीतर से लिया जाता है इसका मतलब है कि और मैं क्यों समझ में नहीं आता है!
धन्यवाद
क्या आप दिखा सकते हैं कि 'loc_com' कैसे सेट/उपयोग किया जाता है? – chown
जैसा कि कहा गया है, क्या आप इसे कॉल करने से पहले $ {loc_com [$ i]} प्रतिध्वनि डाल सकते हैं। – aayoubi
क्या आप एक परीक्षण केस पोस्ट कर सकते हैं जो बिना संपादन के काम करेगा? –