当我运行包含以下代码的简单 shell 脚本时:
#!/bin/sh
printf "\e[32m Hello World\n"
我明白了
\e[32m 你好,世界
作为输出,而不是绿色的 Hello World 输出。
答案1
printf
不明白\e
;您需要使用\033
。请注意,这printf
也是一个bash
内置函数;它有 GNU 扩展,包括\e
,但除非您特别要求脚本由您运行,否则/bin/bash
您通常会得到 POSIX 扩展。
当我运行包含以下代码的简单 shell 脚本时:
#!/bin/sh
printf "\e[32m Hello World\n"
我明白了
\e[32m 你好,世界
作为输出,而不是绿色的 Hello World 输出。
printf
不明白\e
;您需要使用\033
。请注意,这printf
也是一个bash
内置函数;它有 GNU 扩展,包括\e
,但除非您特别要求脚本由您运行,否则/bin/bash
您通常会得到 POSIX 扩展。