Answers:
使用shell表达式的返回值作为以下参数touch:
touch $( date '+%Y-%m-%d_%H-%M-%S' )
结果:一个名为eg的文件2012-03-11_14-33-53。
该答案假定您正在使用bash(在man页面部分的Command Substitution中进行了描述),但是其他shell可以相同或仅略有不同。
"引号将其引起来。你可以想像的输出date替换命令行的一部分,并且touch Sun Mar 11 14:48:31 CET 2012会创建文件名Sun,Mar等等touch "Sun Mar 11 14:48:31 CET 2012",另一方面正常工作(除非我不知道冒号将如何好工作)。
echo "$HOME"和echo '$HOME'。这就是为什么我建议使用的原因"。
您可以使用更简单的命令
touch $(date | tr ' ' '-')
date通常将时间显示为hh:mm:ss。您的答案导致文件名包含冒号。这可能会导致基于Windows的文件系统上的错误。(2)简单调用的原始输出date取决于语言环境;即根据当地语言定制。尝试LANG=de_DE date并LANG=fr_FR date查看示例。…(续)
date将日期写为mm / dd / yy(或dd / mm / yy)。…(续)
ls或产生的词典顺序(即字母顺序)*对应于时间顺序。有了您的答案,所有Fri文件将位于按字典顺序排序的任何列表的开头,Apr并且Aug将出现在所有其他月份之前。