![是否有任何理由在 bash 文件名扩展中转义点?](https://linux22.com/image/27599/%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%E7%90%86%E7%94%B1%E5%9C%A8%20bash%20%E6%96%87%E4%BB%B6%E5%90%8D%E6%89%A9%E5%B1%95%E4%B8%AD%E8%BD%AC%E4%B9%89%E7%82%B9%EF%BC%9F.png)
我正在使用其他人编写的 bash 脚本,我看到以下行:
cp -v ${LOG_DIR}/${APPLICATION}\.*.log ${ARCHIVED_LOG_DIR}
它所使用的文件的命名方式如下:
EXAMPLE.command1.log
EXAMPLE.command2.log
由于在文件名扩展中没有对点进行特殊处理,因此反斜杠是否有任何原因转义点?这样做与不使用反斜杠相比有何影响?:
cp -v ${LOG_DIR}/${APPLICATION}.*.log ${ARCHIVED_LOG_DIR}
答案1
答案2
不是 @jw013 已经解决的问题的答案,但请注意,虽然 和\
在{}
这里是多余的,但还缺少一些东西。就像变量应该被引用一样,并且--
缺少标记选项的结尾。
cp -v -- "$LOG_DIR/$APPLICATION".*.log "$ARCHIVED_LOG_DIR"