Trong Bash Prompt (biến PS1), tôi đang gọi một hàm để có khả năng thêm văn bản vào dấu nhắc: export PS1="\u@\h \$(my_function) \$ "
Tuy nhiên, hàm trong lời nhắc chứa mã màu ANSI thay đổi dựa trên đầu ra của hàm (đôi khi là màu đỏ, đôi khi là màu xanh lá cây). Việc thêm " \[
" vào biến PS1 sẽ thoát các mã đó thành không in, nhưng nếu tôi thực hiện một echo
chức năng, " \[
" sẽ được in theo nghĩa đen trong lời nhắc.
Làm cách nào tôi có thể thoát các mã màu ANSI này từ bên trong một hàm để sử dụng trong dấu nhắc bash?
echo -e "\001\e[31m\002RED"
hoạt động như mong đợi. Cảm ơn!