【发布时间】:2017-11-03 11:22:03
【问题描述】:
我有一个脚本,可以使用最近的提交消息在每个 Jenkins 构建上生成变更集。问题是作者名包含 \ 因为它具有域,所以当我写入文件时,shell 将 \ 解释为一个字母,我没有看到实际的 <domain>\<name>,而是看到类似 <domain><name> 的东西。
我目前的脚本如下:
git --git-dir=<git dir> log origin/${BUILD_NAME} --since \"$sinceDate\" --graph --oneline --pretty="%h %<(28)%ci %<(20)%an: %s" | while read item
do
printf "changeset: $item \r\n" >> //<destination>//change_set_${WEEK_NUMBER_DATE_HOUR}.txt;
done
作为输出示例,我得到如下内容:
changeset: * 0e27e683b 2017-09-26 09:35:16 +0300 SROjohn : #task #18856
而不是
changeset: * 0e27e683b 2017-09-26 09:35:16 +0300 SRO\john : #task #18856
有没有办法阻止 shell 解释“\”?
【问题讨论】: