Как я могу заставить KornShell отображать дату и время в подсказке?

В моем AIX-окне, использующем ksh в качестве оболочки по умолчанию, я хотел бы, чтобы в приглашении отображались дата и время, за которыми следовала новая строка \n , а также имя машины и рабочий каталог.

Что-то вроде:

 2014/08/05 10:58:43 [username]machinename:/some/path/here $ 

Я пробовал следующее:

 unset _Y _M _D _h _m _s eval $(date "+_Y=%Y;_M=%m;_D=%d;_h=%H;_m=%M;_s=%S") ((SECONDS=3600*${_h#0}+60*${_m#0}+${_s#0})) typeset -Z2 _h _m _s _tsub="(_m=(SECONDS/60%60)) == (_h=(SECONDS/3600%24)) + (_s=(SECONDS%60))" _timehm='${_x[_tsub]}$_h:${_m}' _timehms='${_x[_tsub]}$_h:$_m:${_s}' _timedhms=$_Y'/'$_M'/'$_D" "'${_x[_tsub]}$_h:$_m:${_s}' PS1="$_timedhms'\n' "'[USERNAME]MACHINE:${PWD#$HOME/} $ ' 

Однако между датой / временем и остальной частью подсказки нет новой строки. Кажется, теперь вопрос, какую комбинацию кавычек я пытаюсь, я не могу получить новую строку, чтобы появиться в PS1.

Редактирование: после того, как назначено SECONDS, назовите пробелы, а редактирование должно быть 6 символов, поэтому я расскажу вам здесь.

  • Как удалить все элементы в папке, за исключением элементов grepped
  • Что означает это $ {@: 2} в сценариях оболочки
  • Удалить первую строку файла
  • Хранение списка в переменной
  • Суммируйте значения в столбце, кроме заголовка
  • Ключ удаления не работает в командной строке
  • Как мне избежать имени подкаталога с амперсандом в нем?
  • Почему zsh и ksh93 решили быть несоответствующими при сопоставлении с образцом?
  • 2 Solutions collect form web for “Как я могу заставить KornShell отображать дату и время в подсказке?”

    Вы можете использовать литерал новой строки в PS1 :

     PS1="$_timedhms > [USERNAME]MACHINE:${PWD#$HOME/} $ " 

    или используя $'\n' с ksh93:

     PS1="$_timedhms$'\n' [USERNAME]MACHINE:${PWD#$HOME/} $ " 

    Существует довольно простой способ сделать это:

     export PS1=$(echo "\033[01;33m"`date +%D`" "`date +%T`"\033[0m""\n"`whoami`@"\033[3;36m"`hostname`"\033[0m"':$PWD'#) 

    Если вы хотите установить это навсегда, добавьте запись в '/ etc / profile'.

    Linux и Unix - лучшая ОС в мире.