这个脚本需要一个ip和我们必须在远程服务器上运行的脚本或文件我给了一个文件,其中我写了像
这样的命令touch /root/test
ls /root/test
这会使文件生效,但不显示,并且显示错误
tcgetattr:设备不适当的ioctl
连接关闭
如何解决这个问题?
#!/bin/bash
# The private key used to identify this machine
IDENTITY_KEY=/home/admnew.pem
syntax()
{
echo "Syntax: Ec2.sh server_ip scriptFile]"
echo "For example: ./Ec2.sh server_ip scriptFile"
exit 1
}
if [ $# -ne 2 ]
then
echo not enough arguments
syntax
fi
echo "Running script $2 on $1"
ssh -t -t -i $IDENTITY_KEY ec2-user@$1 sudo -i 'bash -s' < $2
exit
exit
echo "Done"
答案 0 :(得分:0)
尝试:
ssh -t -t -i $IDENTITY_KEY ec2-user@$1 sudo -i 'bash -s' <<EOF
(
$(cat "$2")
)
EOF
e.g。将脚本包装到()
中,例如:
touch /root/test
ls /root/test
应该是
(
touch /root/test
ls /root/test
)