Необходимо смочь сделать это путем установки PS1
запросите переменную в Вашем ~/.bashrc
файл как это:
PS1='[\u@\h \w]\$ '
Для создания это окрасило (и возможно полужирный - это зависит от того, включил ли эмулятор терминала его), необходимо добавить цветовые коды Escape:
PS1='\[\e[1;91m\][\u@\h \w]\$\[\e[0m\] '
Здесь, все не оставляемое между 1;91m
и 0m
части будут раскрашены 1;91
цвет (полужирный красный). Поместите эти управляющие коды вокруг различных частей подсказки, чтобы использовать различные цвета, но не забыть сбрасывать цвета с 0m
или иначе Вы окрасите терминальный вывод также. Не забудьте получать файл впоследствии для обновления текущей оболочки: source ~/.bashrc
После отслеживания вокруг различных форумов и некоторое сообщение Переполнения стека я нашел проблему.
Вот объяснение, чтобы лучше понять и 'видеть' первопричину ошибок.
Прежде всего, если Вы - написание кода в Windows, лучшая рука сами с Блокнотом ++. Это - в основном швейцарский нож текстовых редакторов, по-моему.
Теперь, чтобы взглянуть на EOL (конец строки) символы и другие символы управления делают следующее:
1. Откройте файл в Блокноте ++.
Выберите Представление> Выставочный Символ> Шоу Все Символы от Строки меню
Необходимо теперь видеть символы следующим образом:
Ага! Windows/MS-DOS использует CR+LF для указания на конец строк. Теперь UNIX использует символ LF для указания на линейное окончание (символ EOL).
2.1. Давайте преобразуем Windows EOL в UNIX EOLs:
Выберите РЕДАКТИРОВАНИЕ> Преобразование EOL> Формат UNIX
Необходимо видеть что-то вроде этого:
Это объясняет, почему мы видели, что '\r' символ был добавлен в конце строки. Это вызвано тем, что UNIX распознал '\n' или LF (перевод строки) как линейное окончание / символ EOL, но проигнорируйте '\r' или ^M (возврат каретки) символ.
Мы можем также протестировать на выпуск EOL
bash-3.00$ head myScript.sh | cat -vet | head -1
#usr/bin/bash^M$
bash-3.00$ #We see that ^M, that is \r is found at the end of each line.
2.2. Если Вы хотели бы, преобразовывают файл от Windows до UNIX формат EOL на UNIX затем существует два способа зафиксировать это:
$ dos2unix myScript.sh
или
Используйте решение, предоставленное @Chris Вниз как указано ниже:
$ sed -i 's/\r$//' myScript.sh
Ссылки:
Ваш сценарий содержит окончания строки CRLF, тогда как Unix использует окончания строки LF. Следующее удалит их, если у Вас будет GNU sed
:
sed -i 's/\r$//' cxStopAllServicesOnSERVER.sh
Если у Вас нет GNU sed
, запишите во временный файл и затем переместите его поверх старого файла.
Как в стороне, если Вы вызываете использование сценария sh
, Вы переопределите хижину. Это, вероятно, не, что Вы хотите.
!/
должен быть вставлен в первую строку, чтобы иметь ту.
– miracle173
18.11.2012, 13:51
pico
, редактор командной строки, будет решение. – João Pimentel Ferreira 23.04.2016, 23:09