gpt4 book ai didi

linux - 着色 echo 在 Solaris 中有效,但在 Linux 中无效

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:43 26 4
gpt4 key购买 nike

我有 2 个不同的服务器,我在其中使用相同的网络用户登录并运行相同的脚本。一个是 Solaris,另一个是 Linux。

脚本中的示例回显行在这些服务器上的工作方式不同:

echo  "\033[1;32mauto update\033[m"

在 Solaris 中 -> 它以绿色正确显示文本“自动更新”

在 Linux 中 -> 它显示的文本不正确且没有颜色编码:“\033[1;32mauto update\033[m”

.bashrc 配置文件具有以下 PS1 行:

export PS1='${USER}@${HOST%%.*} ${PWD}> '

如果你能帮助我在 Linux 中实现颜色功能,我将不胜感激。谢谢

最佳答案

这很好地说明了为什么 echo 不被认为是可移植的。

dash 和 Solaris sh 上:

echo    "\033[1;32mauto update\033[m"   # Works
echo -e "\033[1;32mauto update\033[m" # Fails (prints -e)

bashashksh 上:

echo    "\033[1;32mauto update\033[m"   # Fails (doesn't interpret escapes)
echo -e "\033[1;32mauto update\033[m" # Works

您可以改用 printf:

printf '\033[1;32mauto update\033[m\n'  # Works on all platforms

关于linux - 着色 echo 在 Solaris 中有效,但在 Linux 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48629174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com