回显日期自动 git 提交



我正在设置一个 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 ‘ ' 在双引号内保留其特殊含义(请参阅 壳扩展)。反斜杠仅在以下情况下保留其特殊含义 后跟以下字符之一:"$"、"\"或 换行符。在双引号内,反斜杠后跟以下之一 这些字符将被删除。反斜杠前面的字符,不带 特殊含义保持不变。可以引用双引号 在双引号内,在前面加上反斜杠。如果启用, 将执行历史记录扩展,除非双精度中出现"!" 引号使用反斜杠进行转义。"!"前面的反斜杠 未删除。

特殊

参数"*"和"@"在双精度时具有特殊含义 引号(请参阅外壳参数扩展)。

最新更新