如何让 'echo -e' 或 'printf' 在 git 子模块中工作?


  • echo -e "u001b[37;1mtest"输出:

测试

  • printf "u001b[37;1mtest"输出:

测试

  • git submodule foreach -q 'echo "test" '输出

test
test
test

  • git submodule foreach -q 'echo -e "u001b[37;1mtest" '输出:

- e" u001b[37; 1太
- e" u001b[37; 1太
- e" u001b[37; 1太

  • git submodule foreach -q 'printf "u001b[37;1mtestn" '输出

u001b[37; 1太
u001b[37; 1太
u001b[37; 1太

怎么打印'u001b[37;1m' ?

这个有点棘手:

  • bash解释u转义序列
  • 所以当bash本身运行printfecho时,您的两个顶级命令可以工作
  • /bin/sh不一定是bash

系统上的非bashprintfecho处理u转义序列。所以当git submodule foreach运行sh时,它不是bash,你看到的是你所看到的。

要获得转义序列效果,请使用旧样式的ESC33

相关内容

  • 没有找到相关文章

最新更新