bash4:当将文件路径放在双引号内时,cp 命令无法查看文件

bash4:当将文件路径放在双引号内时,cp 命令无法查看文件

考虑以下终端输出(在 .sh 文件内)

kagura@mylaptop1 : ~
=> sudo cp -a "$_source/*.txt" $_destination/Other/
Password:
cp: /home/myuser/*.txt: No such file or directory
08:06:13 Thu Jun 14
kagura@mylaptop1 : ~
=> sudo cp -a $_source/*.txt $_destination/Other/
08:06:33 Thu Jun 14
kagura@mylaptop1 : ~

带双引号的运行失败,不带双引号的运行成功。

我的印象是,当涉及路径/文件时,双引号是安全的,因为路径或文件可能有空格。

谢谢您的帮助

答案1

*扩展为文件夹中的文件名,而不"*"扩展。

但你的“印象”是正确的,你应该引用所有你不能100%确定其中没有空格的部分。

您可以混合引用和未引用的部分:

sudo cp -a "$_source"/*.txt "$_destination"/Other/

相关内容