考虑以下终端输出(在 .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/