
.bash_profileを次のように設定しました。
exec env -i HOME=$HOME TERM=vt100 PS1='\h' /bin/bash
ただし、ログインすると以下も表示されます。
lfs@sam:~$ env
TERM=vt100
PWD=/home/lfs
PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$
SHLVL=1
HOME=/home/lfs
_=/usr/bin/env
lfs@sam:~$
どうしたの?
ログイン時にPS1を設定するには?
ありがとうございます〜
答え1
この値はPS1
bashシステム全体の設定ファイルによって設定されます/etc/bash.bashrc
。から選択してこれを行うことができます~/.bashrc
。
PS1
シェル変数です。その意味は殻によって異なります。シェルを使用している場合はエスケープできますが、通常はプロセス環境ではないため、エクスポートしないでください。
bashは設定ファイルに関して非常に奇抜であることに注意してください。 bashのログインインスタンスを起動した場合は読み取りのみ、/etc/profile
それ~/.bash_profile
以外~/.profile
の場合は~/.bash_profile
読み取りのみを行います/etc/bash.bashrc
(そのように設定した場合)。そして~/.bashrc
。 Bashのログインインスタンスから対話型設定を取得するには、次のコードを次の場所に配置する必要があります~/.bash_profile
。
if [ -r ~/.profile ]; then
. ~/.profile
fi
case $- in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
シェル変数には、シェルが対話型であることを示す$-
文字が含まれています。i