<分区>
作为练习,我制作了一个在屏幕上输出彩色消息的 shell 脚本。我试图使用 ANSI 颜色代码,但内容本身会改为输出。
我的代码:
#!/bin/bash
echo "\033[1;37;42m SUCCESS! \033[0m"
输出:
\033[1;37;42m SUCCESS! \033[0m
但是,使用“打印”确实有效:
#!/bin/bash
print "\033[1;37;42m SUCCESS! \033[0m \n"
输出(白色字体+绿色背景):
SUCCESS!
我在 Red Hat Enterprise Linux Server 6.5 版(圣地亚哥)和 Raspbian Jessie Lite 4.4 上对此进行了测试,得到了相同的结果。据我所知以及我浏览过的所有搜索引擎结果,“echo”和“print”是相同的,除了“echo”包含换行符而“print”不包含换行符。为什么在这种情况下会有所不同?