我正在尝试在此格式的~/.bashrc
中写一个别名:
alias a="foo; osascript -e 'tell application "Terminal" to do script "bar"; baz"
(其中bar
在新的终端窗口中启动,按照this question),但此字符串看起来不像它将解析。我尝试过字符串插值(${str}
),但问题似乎无法解决。
答案 0 :(得分:1)
alias a="foo; osascript -e 'tell application \"Terminal\" to do script \"bar\"'; baz"
答案 1 :(得分:0)
令人惊讶的是,字符串似乎写得很好。只要它在一行上,Bash就不会按照你期望的方式终止双引号字符串。
更新:正如Ignacio指出的那样,写入的字符串不会保留其中的双引号。即:
# Good:
a="foo; osascript -e 'tell application \"Terminal\" to do script \"bar\"'; baz"
echo $a
> foo; osascript -e 'tell application "Terminal" to do script "bar"'; baz
# Not so good:
b="foo; osascript -e 'tell application "Terminal" to do script "bar"'; baz"
echo $b
> foo; osascript -e 'tell application Terminal to do script bar'; baz