移动由本地变量命名的远程文件夹

时间:2016-01-22 15:47:33

标签: bash ssh mv

我试图移动一个远程目录,其名称包含一个存储在局部变量中的单个数字的值。

ssh root@1.1.1.1 'mv /etc/folder_* /etc/folder_$value'

然而,$ value尚未解析,我是否尝试过引号和双引号?

1 个答案:

答案 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