【发布时间】:2016-06-04 14:57:07
【问题描述】:
我正在尝试编写一个小的 shell 脚本来查找目录中最近添加的文件,然后将该文件移动到其他位置。如果我使用:
ls -t ~/directory | head -1
然后将它存储在变量 VARIABLE_NAME 中,为什么我不能然后通过以下方式将它移动到 ~/other 目录:
mv ~/directory/$VARIABLE_NAME ~/otherdirectory
我在这里搜索并用 Google 搜索过,但似乎没有任何关于在文件路径中使用变量的信息?有没有更好的方法来做到这一点?
编辑:这是脚本的一部分:
ls -t ~/downloads | head -1
read diags
mv ~/downloads/$diags ~/desktop/testfolder
【问题讨论】:
-
是的,您可以在路径中使用变量。这不一定是您遇到的问题。您可能会遇到一些问题,例如
~的扩展。或者您可能对包含空格的文件名和目录名有疑问。我不是读心术,所以我不一定知道你在尝试时遇到了什么错误。 -
$VARIABLE_NAME 包含什么?
-
我已经用处理存储/移动变量的脚本部分更新了帖子。
-
脚本部分不够充分,因为它没有显示 VARIABLE_NAME 如何接收其值。此外,如果您描述观察到的效果会很有帮助:您是否收到错误消息,或者文件是否显示在不同的位置?
-
脚本的第一部分(未发布)在 /desktop 中创建了几个目录并且运行良好。当我到达要移动文件的地步时,脚本似乎只是挂起,实际上什么也没发生。