如果其他情况下如何 SSH 伪 TTY 分配给远程服务器



我尝试使用以下 bash 脚本将pseudo-tty allocationssh到远程服务器;

ssh -t -t user@remote-host
if [ -d "/test/dir_test" ]; then
sudo chown -R user:admin /test/dir_test/
sudo rm -rf /test/dir_test/*
else        
sudo mkdir /test/dir_test/
fi

检查remote-host上是否存在/test/dir_test,如果没有在远程主机上创建这样的目录test/dir_test; 但是脚本不起作用,我想知道如何在这种情况下使用带有pseudo-tty allocationssh来做到这一点。

您必须引用要发送到服务器的命令,如下所示:

ssh -t -t user@remote-host "
if [ -d '/test/dir_test' ]; then
sudo chown -R user:admin /test/dir_test/
sudo rm -rf /test/dir_test/*
else        
sudo mkdir /test/dir_test/
fi"

请注意,sudo需要密码,除非其配置中另有指定。

您可以使用 heredoc 通过 stdin 发送命令:

ssh -tt user@remote-host <<EOT
if [ -d "/test/dir_test" ]; then
sudo chown -R user:admin /test/dir_test/
sudo rm -rf /test/dir_test/*
else        
sudo mkdir /test/dir_test/
fi
exit
EOT

请注意最后一个退出命令。

相关内容

  • 没有找到相关文章

最新更新