Bash

bash 中的採購併不模仿 tcsh 中的採購

  • December 11, 2020

下面的文件,我稱之為 /tmp/ltSortedList,當它來自 tcsh 時,輸出不同顏色的行:

echo "\033[0;34m  R:0         2020  12  10  18:53  regularFile "\\e[0m
echo "\033[0;34m  R:32325978  2020  12  10  17:10  G670_UserGuide_Long.pdf "\\e[0m
echo "\033[0;31m  S:13        2020  12  09  18:49  /tmp/linkTarget "\\e[0m

但是當我從 bash (或使用 .)獲取它時,著色不起作用(見圖)。據推測,它與控制程式碼有關。在此處輸入圖像描述

有人可以解釋一下如何在 bash 中獲得與我在 tcsh 中相同的結果嗎?

感謝您的任何建議

我的猜測是,在兩者中tcshbash您都將獲得 ; 的內置實現echotcsh’ 的實現是解釋轉義序列,而bash’ 不是。

嘗試這個:

/bin/echo -e "\033[0;34m  R:0         2020  12  10  18:53  regularFile "\\e[0m
/bin/echo -e "\033[0;34m  R:32325978  2020  12  10  17:10  G670_UserGuide_Long.pdf "\\e[0m
/bin/echo -e "\033[0;31m  S:13        2020  12  09  18:49  /tmp/linkTarget "\\e[0m

這將確保您使用/bin/echo二進製文件。該-e標誌將導致/bin/echo解釋轉義字元。

引用自:https://unix.stackexchange.com/questions/623933