我有以下场景,我有在另一台远程计算机上运行 bash 脚本的脚本
ssh 的命令是
ssh [email protected] 'bash -s' < test.sh
测试文件
#/bin/sh
bash ./trigger.sh
触发器.sh(远程服务器)
docker build -t nginx .
我需要在执行脚本之前更改目录trigger.sh
。比如像这样:
ssh [email protected] 'cd /pipeline' 'bash -s' < test.sh
我尝试使用 cd 但收到错误 bash line 0:cd: Too much argument
非常感谢帮助如何实现这一点,或者对于上述情况是否还有其他方法。
答案1
您可以将以下命令添加cd
到 ssh 命令中:
ssh [email protected] 'cd /pipeline && bash -s' < test.sh
或者,您可以将其添加到您调用的任一脚本中。所以要么test.sh
:
#/bin/sh
cd /pipeline
bash ~/trigger.sh
或者trigger.sh
:
cd /pipeline
docker build -t nginx .