मेरे पास एक शेल स्क्रिप्ट है जो अपने आउटपुट में हरे चेकमार्क को प्रिंट करने के लिए निम्नलिखित का उपयोग करता है:
col_green="\e[32;01m"
col_reset="\e[39;49;00m"
echo -e "Done ${col_green}✓${col_reset}"
बैश के ANSI-C क्वोटिंग के बारे में पढ़ने के बाद , मुझे एहसास हुआ कि मैं अपने रंग चर सेट करते समय इसका इस्तेमाल कर सकता हूं और -e
अपनी गूंज से झंडा हटा सकता हूं ।
col_green=$'\e[32;01m'
col_reset=$'\e[39;49;00m'
echo "Done ${col_green}✓${col_reset}"
यह आकर्षक लगता है, क्योंकि इसका मतलब है कि संदेश सही ढंग से प्रिंट करता है चाहे वह बैश के बेसिन इको या बाहरी उपयोग के लिए पारित हो /bin/echo
(मैं macOS पर हूं)।
लेकिन क्या यह स्क्रिप्ट को कम पोर्टेबल बनाता है? मुझे पता है कि बैश और जेडश, उद्धृत करने की इस शैली का समर्थन करते हैं, लेकिन मैं दूसरों के बारे में निश्चित नहीं हूं।