![带有日期函数的 mkdir 在脚本中的行为有所不同](https://linux22.com/image/40078/%E5%B8%A6%E6%9C%89%E6%97%A5%E6%9C%9F%E5%87%BD%E6%95%B0%E7%9A%84%20mkdir%20%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E7%9A%84%E8%A1%8C%E4%B8%BA%E6%9C%89%E6%89%80%E4%B8%8D%E5%90%8C.png)
我正在尝试创建一个带有时间戳的目录。如果我在提示符下输入
mkdir "$(date +%Y-%m-%d_%H%M%S)"
我得到一个以我想要的日期命名的目录。如果我将同一行放入 bash 脚本中,我会在名称末尾看到一些奇怪的字符。到底是怎么回事?我正在 Cygwin 中尝试此操作并尝试过bash
和sh
。
答案1
我对 Cygwin 也有同样的问题。你需要跑
dos2unix mkdatedir.sh # or whatever your script is called
这将删除所有 dos 回车符
但最好设置选项 igncr
看https://cygwin.com/ml/cygwin-announce/2010-08/msg00015.html