non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

PS1にexportが不要だった件

長男の朝の登園を次男が生まれて一ヶ月間ほんとに大変だったと今でも思う。自分は朝は早めにゆとりをもって出勤んするスタイルが定着しており、電車も数本遅くても余裕を持って間に合うようにしていましたが、長男の登園はまったくそんな余裕がなく、毎朝駅まで滝汗で走って向かったことが今となっては懐かしいく、送りもお迎えも今はない事がちょっと寂しいkjunichiです。

俺のgrepへの理解の黒歴史のエントリーが好評だったので

わりとbashのプロンプトはPS1を設定すればよいと説明されており、俺もそう覚えていた。

結構なページで

export PS1="hoge #"

なんてやれば変更できると

PS1の設定の謎

Ubuntuにログインして、

env|grep PS1

してもPS1が見えない、でも

unset PS1

とした日にはプロンプト消滅

何これ?

PS1はシェル変数

bashのプロンプトはシェル変数PS1を見ているのだった。

ちなみにexportはシェル変数を環境変数として設定するコマンドの模様

シェル変数の一覧を表示するには

環境変数はenvやprintenvで表示できるのは知っていたが、シェル変数は

set

で、ずらずら表示される。

ubuntuにログインした直後に

set|grep PS1

すると

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

何だ、ちゃんとシェル変数のPS1に設定がされてるじゃないか!

/etc/bash.bashrcにこの設定が書いてあった

ちなみに

大学の端末等で自分でログインシェルを変更できないような環境だと、当然exportが 必要なのはわかりますよね?