我试图建立对我来说,只需要输入的方式newjournal
,并任命了新的日记帐分录year-month-date-time.txt
中创建year
的子目录~/documents/journals
。
我已使用以下命令将其设置为别名:
alias newjournal='nano /home/username/documents/journals/'$(date +%Y)'/'$(date +%F-%k%M).txt''
Run Code Online (Sandbox Code Playgroud)
所以 year 子文件夹可以正确解析,而 date 命令的前半部分似乎也是如此。尝试用 附加别名sudo
,没有帮助。
问题:出于某种原因,当我执行此命令时,时间值 ( %k
) 解析为几分钟前...或者也许是 nano 上次运行此文件名时,也许它被称为旧缓冲区?
当我注销时,它会生成正确的文件,然后我保存,等待几分钟再试一次,它会编辑旧文件而不是创建新文件。即使我删除了旧文件,它也会使用旧文件名(时间不正确)创建一个新文件。
这是我要解释的内容的屏幕截图。在这里,我创建了一个新日志,在执行命令后的一两秒内保存在 nano 中,打印正确的日期/时间,列出创建的文件。请注意不正确的文件名时间(1249,与 13:11 并列):
无论如何,它可能很简单,但是我在别名中尝试了不同的方法,例如在整个事物周围加上双引号并正确转义,单引号,转义和空格等。
感谢阅读/帮助。Ubuntu 16.04 服务器。
编辑:这是最终有效的别名:
alias newjournal='nano /home/user/journals/"$(date +%Y)"/"$(date +%F-%H%M).txt"'
Run Code Online (Sandbox Code Playgroud)
需要在整个单引号别名中对日期命令加双引号。