我在我的终端shell中使用了ZSH,虽然我已经编写了几个函数来自动执行特定的任务,但我从未真正尝试过任何需要我此刻的功能的东西。ZSH/Shell变量赋值/使用
我最近重新编写了一个使用Jekyll的博客,我想自动生成博客帖子,最后使用类似scp的方式将新生成的文件上传到我的服务器。
我对ZSH中的变量绑定/用法有些困惑;例如:
DATE= date +'20%y-%m-%d'
echo $DATE
正如我所预料的那样正确输出2011-08-23。
但是当我尝试:
DATE= date +'20%y-%m-%d'
FILE= "~/path/to/_posts/$DATE-$1.markdown"
echo $FILE
它输出:
2011-08-23
blog.sh: line 4: ~/path/to/_posts/-.markdown: No such file or directory
当什么我会想的博客标题运行为(忽略了一个事实的字符串需要操纵,使其更多的网址友好和路径路径/不存在)
即博客“博客标题”,输出:
2011-08-23
blog.sh: line 4: ~/path/to/_posts/-blog title.markdown: No such file or directory
为什么$ DATE打印在打印$ FILE的调用上方而不是$ FILE中包含的字符串?
'日期+%Y-%间%D'比'日期+ 20%清洁Y-%间%D'。 '日期+%F'甚至更干净。 (这里假定你的'date'命令支持这些格式; GNU日期的确如此,但其他人可能不会。) –