एक शेल स्क्रिप्ट में (.zshrc में) मैं किसी अन्य चर में एक स्ट्रिंग के रूप में संग्रहीत एक आदेश निष्पादित करने का प्रयास कर रहा हूं। वेब पर विभिन्न स्रोत कहते हैं कि यह संभव है, लेकिन मुझे वह व्यवहार नहीं मिल रहा है जो मैं उम्मीद करता हूं। शायद यह आदेश की शुरुआत में ~
है, या शायद यह sudo
का उपयोग है, मुझे यकीन नहीं है। कोई विचार? धन्यवादzsh एक चर में संग्रहीत एक आदेश चलाते हैं?
function update_install()
{
# builds up a command as a string...
local install_cmd="$(make_install_command [email protected])"
# At this point the command as a string looks like: "sudo ~some_server/bin/do_install arg1 arg2"
print "----------------------------------------------------------------------------"
print "Will update install"
print "With command: ${install_cmd}"
print "----------------------------------------------------------------------------"
echo "trying backticks"
`${install_cmd}`
echo "Trying \$()"
$(${install_cmd})
echo "Trying \$="
$=install_cmd
}
आउटपुट:
Will update install
With command: sudo ~some_server/bin/do_install arg1 arg2
trying backticks
update_install:9: no such file or directory: sudo ~some_server/bin/do_install arg1 arg2
Trying $()
update_install:11: no such file or directory: sudo ~some_server/bin/do_install arg1 arg2
Trying $=
sudo ~some_server/bin/do_install arg1 arg2: command not found
आप 'zsh -c '$ {install_cmd}'' – Alex