如何cd到远程计算机上的目录并运行该目录中的脚本

时间:2016-05-04 10:08:35

标签: ssh

当我这样做时

ssh host@someip "cd /target && ls"

显示远程计算机上的文件。

现在,我正在尝试在远程计算机上运行文件。

ssh host@someip "cd /target && ./file.sh"

当我这样做时,它到达远程机器上名为target的文件夹,但该文件在本地机器上执行。如何使file.sh也在远程机器上运行?

1 个答案:

答案 0 :(得分:0)

这取决于您在远程服务器上初始化库的位置。有几种可能性,这可能是错误的,但没有确切的错误,就无法猜测:

  1. 您的~/.bashrc(或其他启动文件)不会为非交互式作业加载库。你可以强制TTY分配:

    ssh -t host@someip "cd /target && ./file.sh"
    
  2. 您可以使用其他一些脚本初始化库。您可以在运行脚本之前加载它:

    ssh host@someip "source your_init_file && cd /target && ./file.sh"