Shell 如何在远程ssh命令中传递参数
我正在尝试在远程主机上运行shell脚本,同时我还想传递一些参数。下面是我的本地主机shell脚本Shell 如何在远程ssh命令中传递参数,shell,ssh,Shell,Ssh,我正在尝试在远程主机上运行shell脚本,同时我还想传递一些参数。下面是我的本地主机shell脚本 pwd echo $0 echo $1 echo $2 echo thanku everyone!! 要运行此脚本,我将使用以下命令 ssh user@server 'ksh' < ./code sshuser@server“ksh”
pwd
echo $0
echo $1
echo $2
echo thanku everyone!!
要运行此脚本,我将使用以下命令
ssh user@server 'ksh' < ./code
sshuser@server“ksh”代码
我想用这个命令传递参数。请向我澄清这一点
提前感谢。您无法传递参数,因为您正在启动
ksh
并使用/code
作为标准输入
但是您可以设置一个环境变量,然后将其用作命令行,注意
ichramm@wilderkrieger:~$ cat code
function run() {
echo $1;
echo $2;
}
run $COMMAND_LINE
ichramm@wilderkrieger:~$ ssh localhost 'COMMAND_LINE="hello world" ksh' < ./code
hello
world
ichramm@wilderkrieger:~$cat代码
函数运行(){
回声1美元;
回声2美元;
}
运行$COMMAND\u行
ichramm@wilderkrieger:~$ssh localhost'COMMAND\u LINE=“hello world”ksh”<./代码
你好
世界
是否可以将脚本存储在远程服务器上?我不存储脚本。只是从本地到远程主机运行shell脚本。不,它不工作。sshuser@host'COMMAND_LINE=“hello world”ksh'<./thur1我是这样使用的,我的代码是函数run(){echo$1;echo$2;}在主机上运行此代码时运行$COMMAND_LINE。它显示以下错误语法错误:“(”意外。请在此澄清我。谢谢..->请澄清我的上述评论。这是因为我的run()
是一个bash函数,而您需要一个简单的示例,只需删除括号即可。