LoginSignup
2
1

More than 5 years have passed since last update.

fishの配列と環境変数PATH

Posted at

fishのおもしろいなと思ったところのひとつは環境変数PATHが配列になっているところです

今は関係はないけどzshも$pathでアクセスする配列である。

環境変数PATHの中身は以下のものとします。

$ printenv PATH
PATH=/usr/local/bin:/usr/bin/:/bin

$PATHをechoしてみよう。

$ echo $PATH
/usr/local/bin /usr/bin/ /bin

コロンがなくなっていますね。
配列になっているので添字でアクセスできます。
番号は1からです。

$ echo $PATH[1]
/usr/local/bin
$ echo $PATH[2]
/usr/bin
$ echo $PATH[3]
/bin
$ echo $PATH[-1]
/bin

負の数も使えます。
ところでぱPATH以外の配列を環境変数にすると、どうなるのでしょうか。
環境変数にするにはsetの-xオプションを使うみたいです。--exportでも可能です。

$ set -x hoge aaa bbb ccc
$ echo $hoge
aaa bbb ccc
$ printenv hoge
aaa:bbb:ccc

コロン区切りになることがわかりました。

折角配列なのでループを回しておきましょう。

$ for i in $hoge
    echo $i
  end
aaa
bbb
ccc

まとめ

fishでは環境変数PATHは配列になっています。
配列を環境変数にするとプロセスからはコロン区切りで結合されている状態になるようです。

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1