我有一个像这样的变量设置:
SSH_EXEC="ssh -X -o ControlPath=~/.ssh/master-$$ -o ControlPersist=60"
有问题的参数是-X
,因为如果我在本地脚本中调用此命令
$SSH_EXEC user@server "./server_script.sh $aFile"
简而言之,它执行以下操作:
if [ -e /path/"$1".name ] || [ -e /path/"$1" ]
then
do something
else
error
echo "/path/"$1".name"
exit
fi
一切正常!但如果我-X
用替换-t
,我的测试server_script
就会失败else
。我宁愿不使用 x11,但我不确定是什么区别导致它在一个实例中失败,而在另一个实例中通过。
编辑
因此,我进行了更多故障排除,并决定/path/$1.name
在服务器上回显 的值,但结果却是乱码。如果我的$aFile
名字恰好是hello.name
回显的结果,则当我使用代替.nameello
时,还会删除路径的开头。 -t
-X
什么可能导致我的变量损坏?