使用osascript,我能够告诉终端应用程序在单独的终端窗口中打开ssh连接,但是,当我尝试在脚本中传递bash变量时,我遇到了错误。
这个脚本运行得很好:
osascript -e 'tell app "Terminal"
do script "ssh user@hostname -p port -L 9999:localhost:80 -i keyfile"
end tell'
...more commands...
但运行像这样的脚本......
read -p "Port: " prt
read -p "Localhost port: " lhprt
osascript -e 'tell app "Terminal"
do script "ssh user@hostname -p \"$prt\" -L \"$lhprt\":localhost:80 -i keyfile"
end tell'
...more commands...
它没有传递变量,即在新终端窗口中传递的命令是
ssh user@hostname -p "$prt"
我如何格式化它以使我的bash变量能够通过?
答案 0 :(得分:-1)
只需反转报价类型即可 使用单引号阻止shell扩展参数
编辑: 您也可以在变量周围关闭字符串。 即 '这是“字符串”中的'$ variable'。'