有没有办法强制SSH在远程端使用特定的
shell,无论
用户的
默认
shell是什么?
我尝试过的解决方案类似于:
ssh host.domain.com /bin/bash -c 'complicated,multi-line command'
但不幸的是,远程端的默认shell负责解析“复杂的多行命令”部分,而且我很难将其转义为Bash和C shell用户.
我不相信这是可能的,至少对于基于openssh的系统.如果你有能力,
一个更好的
解决方案可能是sftp up
一个shell脚本
文件,然后用你发布的
方法执行它.它的优点是可以最大限度地减少所需的转义量,但是会留下
一个必须
删除的
文件(可能是脚本的最后一步).