簡體   English   中英

着色回聲在Solaris中有效,但在Linux中不起作用

[英]Colorizing echo works in Solaris but doesn't work in Linux

我有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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM