解析如何适用于unix命令:" rm"和" cp"

时间:2017-12-01 07:26:00

标签: bash unix wildcard cp rm

我们正在执行以下命令

rm -f $folder_name/filename*

cp $folder_name1/filename1* $folder_name/

检查执行日志后,我们得到以下命令执行

rm -f '/home/user/file*'

cp /home1/user1/file1* /home/user/

为什么rm使用单引号而不是cp命令执行?

1 个答案:

答案 0 :(得分:1)

您有可能正在检查bash -x的输出,它会在参数周围添加单引号,仅用于消除歧义。但是您显示的代码无法产生您描述的输出。

rm wildcard*
如果通配符匹配,

将扩展为rm和匹配的文件。但是,如果,则扩展将等同于

'rm' 'wildcard*'

我添加引号只是为了表示不会进行进一步的评估,类似于bash -x(至少sh -x的某些变体)。