Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 带有选项的SSH exec本地shell脚本_Bash_Shell_Ssh - Fatal编程技术网

Bash 带有选项的SSH exec本地shell脚本

Bash 带有选项的SSH exec本地shell脚本,bash,shell,ssh,Bash,Shell,Ssh,我不熟悉shell脚本,目前我有一个名为deploy.sh的shell脚本,它可以采用一些选项,如-n namespaceName-a appName等等,如下所示 ./deploy.sh-n名称空间a-a appB 但是当我通过SSH执行它时,它就不起作用了 ssh root@$remoteHost'bash-s'

我不熟悉shell脚本,目前我有一个名为deploy.sh的shell脚本,它可以采用一些选项,如-n namespaceName-a appName等等,如下所示

./deploy.sh-n名称空间a-a appB 但是当我通过SSH执行它时,它就不起作用了

ssh root@$remoteHost'bash-s' ssh root@$remoteHost'bash-s'您可以这样做:

ssh root@$remoteHost  'bash -s' < deploy.sh -- -n namespaceA -a appB

添加-是为了避免-n namespaceA-a appB被ssh命令占用。

使用应该可以解决这个问题。也如果你放/bin/bash在脚本顶部,您不必在命令行中调用bash-s…ssh root@$remoteHost./deploy.sh-n namespaceA-a appB?@Cyrus我试过了,它不起作用。它提示bash:./deploy.sh:没有这样的文件或目录,它确实存在于同一个目录中。@Jamie\u D我正在deploy.sh文件中使用getopts命令,不,它也不起作用/bin/bash-sshroot@10.100.111.11deploy.sh-n namespaceA-a appB上面写着'deploy.sh:command not found'Genius,你成就了我的一天兄弟!!!我已经搜索了很长时间,没有lcue。你的评论很清楚。非常感谢。