gpt4 book ai didi

bash - 通过SSH在远程计算机上执行脚本时如何使用源文件

转载 作者:行者123 更新时间:2023-12-02 14:18:53 25 4
gpt4 key购买 nike

我正在通过SSH在远程计算机上运行bash脚本。

ssh -T $DBHOST2 'bash -s' < $DIR/script.sh <arguments>

在脚本中,我正在使用源文件来定义脚本 script.sh中使用的功能。
DIR=`dirname $0`      # to get the location where the script is located
echo "Directory is $DIR"
. $DIR/source.bashrc # source file

但是由于源文件不存在于远程计算机中,因此会导致错误。
Directory is .
./source.bashrc: No such file or directory

我总是可以与主脚本一起定义函数,而不是使用源文件,但是我想知道是否有任何方法可以使用单独的源文件。

编辑:源文件或脚本均不在远程计算机中。

最佳答案

这是解决问题的方法-两者都只需要一个ssh session 。

选项1:使用tar将脚本复制到服务器

tar cf - $DIR/script.sh $DIR/source.bashrc | ssh $DBHOST2 "tar xf -; bash $DIR/script.sh <arguments>"

这会将您的脚本“复制”到 $DBHOST2并在其中执行它们。

选项2:使用 bashpp将所有代码包含在一个脚本中

如果不能将文件复制到 $DBHOST2上,请使用 bashpp

.替换您的 #include调用,然后通过 bashpp运行它:
bashpp $DIR/script.sh | ssh $DBHOST2 bash -s

关于bash - 通过SSH在远程计算机上执行脚本时如何使用源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47036068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com