在我.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,以便脚本test.sh在更改到目录后在远程主机上执行testdir,并能够将给定的参数传递mycommand给test.sh?