【发布时间】:2011-11-14 03:48:23
【问题描述】:
我正在尝试将字符串变量传递给 bash 脚本中的应用程序:
# launch app for translator to verify
DIR="$( cd "$( dirname "$0" )" && pwd )"
langstr="'(English)'"
case $language in
"fr")
langstr="'(French)'";;
esac
echo $langstr
#$DIR/../Debug/MyApp.app/Contents/MacOS/MyApp -AppleLanguages '(French)'
$DIR/../Debug/MyApp.app/Contents/MacOS/MyApp -AppleLanguages $langstr
回声显示$langstr 是我所期望的:'(French)'。带有硬编码语言参数的注释行可以正常工作(应用程序以法语启动),但将其替换为带有 $langstr 变量的行会以英语启动应用程序,这可能意味着它以某种方式忽略了它。
我可能需要给自己上一堂关于 bash 变量使用的课程,但我希望同时在这里得到一个快速的答案。
【问题讨论】:
标签: macos bash scripting shell