当我这样做时
ssh host@someip "cd /target && ls"
显示远程计算机上的文件。
现在,我正在尝试在远程计算机上运行文件。
ssh host@someip "cd /target && ./file.sh"
当我这样做时,它到达远程机器上名为target的文件夹,但该文件在本地机器上执行。如何使file.sh也在远程机器上运行?
答案 0 :(得分:0)
这取决于您在远程服务器上初始化库的位置。有几种可能性,这可能是错误的,但没有确切的错误,就无法猜测:
您的~/.bashrc
(或其他启动文件)不会为非交互式作业加载库。你可以强制TTY分配:
ssh -t host@someip "cd /target && ./file.sh"
您可以使用其他一些脚本初始化库。您可以在运行脚本之前加载它:
ssh host@someip "source your_init_file && cd /target && ./file.sh"