繁体   English   中英

回应日期自动git提交

[英]Echoing date automated git commit

我正在设置一个shell脚本作为cron作业运行,它将提交并将一些定期更新的内容推送到远程存储库。 在这种情况下,在提交消息中包括日期和时间对于目标受众来说是足够的信息。

这是有问题的脚本:

#!/bin/sh

cd /Users/me/Documents/myfile/
git add .
git commit -m 'Added notes for $(date)'
git push -u origin master

这个脚本有效,但有一个障碍:提交消息字面上都说“ Added notes for $(date) ”,而不是包括提交的日期和时间。

改为使用双引号:

git commit -m "Added notes for $(date)"

使用单引号$(date)不会展开并保留文字形式。

正如指出的在这里

用双引号('“')括起字符会保留引号内所有字符的字面值,但'$',' ', '\\', and, when history expansion is enabled, '!'. The characters '$' and '除外', '\\', and, when history expansion is enabled, '!'. The characters '$' and ' '在双引号中保留它们的特殊含义(参见Shell Expansions)。反斜杠只有在跟随以下字符之一时才保留其特殊含义:'$','`',''','\\'或换行。 在双引号内,将删除后跟其中一个字符的反斜杠。 没有特殊含义的字符前面的反斜杠不做修改。 双引号可以在双引号内引用,前面加一个反斜杠。 如果启用,将执行历史记录扩展,除非“!” 出现在双引号中使用反斜杠进行转义。 '!'之前的反斜杠 没有删除。

在双引号中,特殊参数'*'和'@'具有特殊含义(参见Shell参数扩展)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM