但是当我ssh执行远程命令,想把某个命令赋值给变量时时:
ssh root@remote_server << EOF
TEST=`cat /root/test.txt`
exit;
EOF
却会报文件不存在,哪怕改成$()也不行。
因反引号和$()都是在本地shell编译的。
如果想要强制在远程服务器执行
得改成:
ssh root@remote_server '(TEST=`cat /root/test.txt`)'
但是当我ssh执行远程命令,想把某个命令赋值给变量时时:
ssh root@remote_server << EOF
TEST=`cat /root/test.txt`
exit;
EOF
却会报文件不存在,哪怕改成$()也不行。
因反引号和$()都是在本地shell编译的。
如果想要强制在远程服务器执行
得改成:
ssh root@remote_server '(TEST=`cat /root/test.txt`)'