执行 ssh 时更改目录的问题

执行 ssh 时更改目录的问题

我有以下场景,我有在另一台远程计算机上运行 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 .

相关内容