2011-01-18 3 views
1

я должен работать с пользователем NFS идентификатор между двумя хостами: бегущий Ksh 93 и B погонных pdksh 88.Пользовательские PS1 приглашение в .kshrc не работает

Моя проблема связана с пользовательской подсказки я создал на A: он работает как шарм и цветов дисплея:

PS1="$'\E[46;31m'`logname`@$'\E[1;33m'`hostname -s`:$'\E[0m>" 

Но я перейти к B, все это идет в ад (частная информация удалена). В подсказке не отображаются цвета, такие как хост A; вместо этого цветовые коды отображаются «в ясном» виде.

$'\E[46;31m'NFS_us[email protected]$'\E[1;33m'host_name_for_B:$'\E[0m> 

Запрос на хосте B не отображает цвета, такие как хост A, поэтому я хочу, чтобы B отображал вместо него базовое приглашение. Чтобы обойти эту проблему, я отредактировал мой .kshrc файл, чтобы добавить этот код в конец:

export NODE=`uname -n` 

case $NODE in 
    host_name_for_B) 
     PS1="[`logname`@`uname -n`]>" 
     ;; 
    *) 
     PS1="$'\E[46;31m'`logname`@$'\E[1;33m'`hostname -s`:$'\E[0m>" 
     ;; 
esac 

Дело заявление не работает: PS1 не переключается на

PS1="[`logname`@`uname -n`]>" 

для хоста В.

Любая идея, в чем проблема?

+0

Нигде в вашем вопросе вы сказали, что это такое, что происходит. Как поведение отличается от того, что вы ожидаете? Какие сообщения об ошибках вы получаете? –

+0

Вы пытались вставить простые значения для PS1, такие как «A», «B», чтобы проверить правильность установки параметров хоста? Постройте вещи по частям и посмотрите, когда они сломаются, и вы, вероятно, выясните, почему .... –

+0

@ Dennis: Мой плохой. Я думал, это очевидно. Запрос на хосте B не отображает цвета, такие как хост A, поэтому я хочу вместо этого отобразить базовое приглашение. – Chris

ответ

3

Благодаря другу, этот код для моих оперативных работ по обоим хостами А и В:

PS1="$(printf "\033[46;31m%[email protected]\033[1;33m%s\033[0m>" $(logname) $(hostname -s))" 

Спасибо всем, что нашли время.

+0

Работает в ksh88 Версия M-11/16/88f –

0

Вот еще один, который работает как для pdksh и ksh93:

PS1='<[email protected]$HOSTNAME:/${PWD#/}>' 
Смежные вопросы