vine-users ML アーカイブ



[vine-users:067929] シェルの 変更

お世話になります。
シェルの変更に関して質問させてください。
うちのUNIXチームで使用しているマシンはログインシェルがkshで~/.profile, ~/.kshrc なども
設定されています。ただ個人的にzshが使用しやすくいつもログイン後、
$ zsh
とタイプしてzshを使ってます。

ただ上記の環境だとkshの環境を引き継いでしまい、、(~/.profile -> ~/.kshrc が実行される)
プロンプト表示がおかしくなったり.kshrc_historyが使用されてしまったりと好ましくない状態に
なってしまいます。また、使用していると時折コマンド行が途中で切れてしまって入力コマンド
が見えなくなる事もありました。

皆さんはどのようにシェルを変更していますか? たとえばksh -> zsh に変更した際~/.profile
を実行させない方法などありましたらご教授ください。よろしくおねがいします。

-山田
======================================
root@:/root# zsh
zsh: corrupt history file /root/.ksh_history
$LOGNAME@:${PWD}#
======================================


======================================
root@:/root# cat .profile
 
print Start of root .profile
 
# set basic editing characters if using a tty else set by X resources:
if tty -s; then
        stty kill ^U
        stty intr ^C
        stty susp ^Z
        [[ $(eval $(stty 2>>/dev/null|grep erase|sed 's/ //g;s/</=/g;s/>//g'); \
                        print $erase) = !(\^H|DEL|\^?) ]] && {
                case $(uname) in
                        HP-UX|AIX)  stty erase ^H   ;;
                        ULTRIX)     stty erase ^?   ;;
                        @(OSF*))    stty erase ^?   ;;
                        *)          stty erase #    ;;
                esac
        }
fi # tty -s
 
set -o emacs
set -o vi
 
PS1="$(hostname):\$PWD# "
HISTFILE=$HOME/.ksh_history
HISTSIZE=600
EDITOR=vi
export PS1 HISTFILE HISTSIZE EDITOR
 
if [[ $ENV = $HOME/.profile ]]; then    # ENV is set to .profile in HPVUE
        . $HOME/.kshrc                  # in an older version of CL startups
fi
export ENVFILE=$HOME/.kshrc
export ENV='${ENVFILE[(_$-=0)+(_=1)-_${-%%*i*}]}'
 
[[ -s adm/.profile ]] && . adm/.profile
[[ -s local/.profile ]] && . local/.profile
 
set -o vi
 
print End of root .profile
root@:/root#
======================================