反引号返回带空格的文件名,周围命令失败

时间:2012-08-28 00:17:19

标签: macos shell backticks

我正在尝试“复制目录中的最新文件”。我使用反引号提出了以下命令简单命令,它适用于没有嵌入空白区域的文件名:

cp -rp `ls -1d searchstring | head -1` destination

正如您所看到的,当返回的文件中没有空格时,这应该可以正常工作。但是,当有这样的空间时,这显然不起作用。

我需要一种方法来处理反引号的输出,或者某种替代方法。

1 个答案:

答案 0 :(得分:2)

您可以通过在其周围添加双引号将命令替换的结果视为单个词:

cp -rp "`ls -t searchstring | head -n 1`" destination

分配给变量时不需要双引号。 a=`uptime`相当于a="`uptime`"