使用mv命令将文件移动到存储在变量中的目标

时间:2014-07-28 20:56:54

标签: unix

我想将名为dog的文件移至$HOME/deleted2。 我使用的unix命令是:

mv dog $HOME/deleted2 

但是我想将它移动到完全相同的目的地,但这次$HOME/deleted2存储在一个名为.rm.cfg的隐藏文件中 我想从.rm.cfg中提取位置,此文件包含一行$HOME/deleted2

这是我做的:

pathname=$(cat $HOME/.rm.cfg),
mv dog $pathname.

但是这次我收到一条错误,说$HOME/deleted2不存在。为什么是这样? 很抱歉没有把它放在代码格式中,我试着用四个空格缩进但它没有用。

1 个答案:

答案 0 :(得分:1)

cat $HOME/.rm.cfg只会“输出”原始文件,但不会评估变量。

要将完整的解释字符串放在pathname变量中,您需要对其进行评估:

pathname=$(eval echo $(cat $HOME/.rm.cfg))