我想将一个文件传递给 mv 命令。但是我试图从命令中传递第一个文件ls
。文件名看起来像,my music.mp3
所以我必须将子命令输出放在撇号之间,以便 mv 命令正确识别它。我正在尝试做类似的事情(如下),但它不起作用。我知道可以使用 来完成echo
,但我相信有更好的方法。
mv '`ls | head -1`' 'Music/my playlist/'
答案1
反引号 `` 已被弃用,取而代之的是运行子命令$(...)
。此外,如果文件名中有空格,则应将单引号替换为双引号。
笔记:您可以使用单引号将带有空格的文件名引起来,但您应该使用双引号将子命令引起来。
mv "$(ls | head -1)" "Music/my playlist/"
希望这可以帮助!