我试图移动一个远程目录,其名称包含一个存储在局部变量中的单个数字的值。
ssh root@1.1.1.1 'mv /etc/folder_* /etc/folder_$value'
然而,$ value尚未解析,我是否尝试过引号和双引号?
答案 0 :(得分:2)
解决方案是使用双引号而不是单引号。 这样shell命令就可以插入本地定义的变量“value”。 所以请改用:
ssh root@1.1.1.1 "mv /etc/folder_* /etc/folder_$value"
我测试时的示例输出: (变量NROFLINES在本地定义,等于4)
cristi@ubuntu:~$ ssh archtln@192.168.174.165 'ls | head -$NROFLINES'
archtln@192.168.174.165's password:
Desktop
Documents
Downloads
examples.desktop
Music
Pictures
Public
Templates
tmp
cristi@ubuntu:~$ ssh archtln@192.168.174.165 "ls | head -$NROFLINES"
archtln@192.168.174.165's password:
Desktop
Documents
Downloads
examples.desktop