シェル芸10月末に行われた第19回シェル芸勉強会の問題をふと思い出すことがあった。最初の問題が、端末で実行した場合とシェルスクリプトに書いて実行した場合で動きを変える、という妙ちくりんな興味深い問題だった。解答例ではaliasが効くかどうかで判定していた。問題と解答は、下記のQ1を参照。上田ブログこの問題の意味は、シェルの状態が対話(インタラクティブ)モードかどうか?の判定をどうするかということだと思う。ところでFreeBSDのデフォルトログインシェルはtcsh。FreeBSDのサーバで作業をしていたところ。シェルの設定ファイルを覗いてみた。デフォルトで提供される設定ファイルが下記のようになっている。endifendifif文のところを見ると、プロンプトが設定されたシェル変数promptが定義されているかどうかで、シェルの状態が対話(インタラクティブ)モードなのか?どうか判定している。下記のような状態になるということ。シェルはtcshの場合。'コマンド文字列'というやり方もあるので、こちらでやってみる。variable.ところで、sh、bash、zshのプロンプトはPS1というシェル変数にプロンプトの設定がされている。tcshと同様に、対話モードかどうかで変化するのか確認してみた。シェルはbashの場合。-uを使って確認してみる。未割り当ての変数ですつまり、非対話モードの場合はシェル変数PS1が未定義らしい。いうことで、シェル変数PS1の文字列が空じゃないかどうかで判定してみた。福岡市内に繰り出すと大勢の人で賑わっていた。はてなブログPro情報処理ってもっとシンプルにならないだろうか?PKI関連、RubyやPHP等のLL、シェルスクリプト、シェル芸、ユニケージ見習い未満。シェルスクリプトとシェル芸はきっと違うんですよ。JPはてなブログをはじめよう!papiroさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。