Macos 不会分配伪终端,因为stdin不是终端&;mess:ttyname失败:设备的ioctl不正确

Macos 不会分配伪终端,因为stdin不是终端&;mess:ttyname失败:设备的ioctl不正确,macos,shell,ubuntu,oh-my-zsh,Macos,Shell,Ubuntu,Oh My Zsh,我已经为scp、ssh、删除目录、解压缩和删除zip文件编写了一个shell脚本 #!/bin/bash tar -czf zipfile.tar.gz ./* .??* scp zipfile.tar.gz root@some.ip.address:/var/www/html/wp-content/themes rm zipfile.tar.gz ssh root@some.ip.address << 'ENDSSH' cd /some/directory rm -rf zip

我已经为scp、ssh、删除目录、解压缩和删除zip文件编写了一个shell脚本

#!/bin/bash

tar -czf zipfile.tar.gz ./* .??*
scp zipfile.tar.gz root@some.ip.address:/var/www/html/wp-content/themes
rm zipfile.tar.gz

ssh root@some.ip.address << 'ENDSSH'
cd /some/directory
rm -rf zipfile
mkdir zipfile
tar xf zipfile.tar.gz -C zipfile
rm zipfile.tar.gz
ENDSSH

在第二个块(ENDSSH)之前运行脚本似乎不会输出这些消息并成功执行

问题是由
ENDSSH
引起的吗?

u可以这样写:

ssh -tt root@some.ip.address << ENDSSH
your code
exit
ENDSSH
ssh-ttroot@some.ip.address