最佳答案
在我的 .bashrc
中,我定义了一个函数,以后可以在命令行中使用:
function mycommand() {
ssh user@123.456.789.0 cd testdir;./test.sh "$1"
}
使用此命令时,只在远程主机上执行 cd
命令; 在本地主机上执行 test.sh
命令。这是因为分号分隔了两个不同的命令: ssh
命令和 test.sh
命令。
我尝试定义函数如下(注意单引号) :
function mycommand() {
ssh user@123.456.789.0 'cd testdir;./test.sh "$1"'
}
我尝试将 cd
命令和 test.sh
命令保持在一起,但是没有解析 $1
参数,这与我给函数的内容无关。它总是尝试执行命令
./test.sh $1
在远程主机上。
如何正确定义 mycommand
,以便在更改到目录 testdir
之后在远程主机上执行脚本 test.sh
,并且能够将给予 mycommand
的参数传递给 test.sh
?