Как я могу заставить 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 символов, поэтому я расскажу вам здесь.

  • Циркулярные ссылки имен в функции оболочки bash, но не в ksh
  • чтение файла, хранящегося в переменной Ksh Unix
  • ksh: для цикла для циклического прохождения файлов в определенном каталоге
  • Копирование последнего измененного файла из нескольких каталогов
  • Заполнение имени переменной в ksh
  • Суммируйте значения в столбце, кроме заголовка
  • Экспортирование переменной с точкой (.) В ней
  • Цитирование в подстановке команд
  • 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 - лучшая ОС в мире.