ページ

2012-05-01

環境変数とシェル変数の設定の方法

環境変数の設定とその関連事項であるシェル変数のいろはについて簡単にまとめておく


シェル変数
bashやtcsh,zshといったシェルの為の変数であり。 その内部で使うことができる。
環境変数
環境設定をシェルから変更する為の機能が 環境変数という名前で用意されている。

シェル変数

大抵の場合パイプかリダイレクションですむが、
コマンドの出力を一時的に覚えさせておきたい時に使うと便利。


  • シェル変数techに文字hogeを格納
    tech="hoge" ←Bシェルの場合(※=の前後に空白は入れない)
    set tech = "hoge" ←Cシェルの場合
    echo $tech ←格納された変数を表示

  • コマンドを変数として格納しておき、evalで実効することもできる。
    tech='cat hoge.txt |grep hoge' ←コマンドをシェル変数に格納
    echo $tech ←コマンドを表示
    eval $tech ←コマンドを実効

  • ``(バッククォート)か$()を使うことでコマンドの結果を変数に格納することができる。
    tech=$(cat hoge.txt |grep hoge) ←コマンドの結果をシェル変数に格納
    echo $tech ←変数の表示


環境変数

日本語環境の設定などでも環境変数の設定は行っていたのだが、
以下は環境変数のシェルコマンドでの扱いの基本的な部分である。

  • 環境設定をシェルから変更する
    Cシェルの場合(setenv)
    setenv ENVNAME "hoge"
    Bシェルの場合(export)
    ENVNAME1="hoge1"
    ENVNAME2="hoge2"
    export ENVNAME1 ENVNAME2 ... ←exportで変数を環境変数にできる。
    export ENVNAME1="hoge1" ENVNAME2="hoge2" .. ←値の格納も同時にできる。

  • printenvで環境変数の一覧を表示できる。
    printenv

以上の設定方法では電源を落とすと環境は消えており
login時には再び設定しなおさなくてはならない。

なので実際に環境設定をしようとするときには、
[/etc/profile.d/]以下にshファイルとして設定を追加することになる。(arch linuxの場合)





0 件のコメント:
コメントを投稿