我尝试使用以下 bash 脚本将pseudo-tty allocation
ssh
到远程服务器;
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 allocation
的ssh
来做到这一点。
您必须引用要发送到服务器的命令,如下所示:
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
请注意最后一个退出命令。