PATHリスト
ぼつぼつなにかやってみるかな、ということで、環境変数PATHをセミコロンで分割して表示するだけのスクリプトを書いてみます。
なんでこんなお題かといいますと、ソフトのインストール時に変なPATH追加されていないか確認したり、新しくPATHを通すときにどの位置に書き足そうか考えるときなど、案外便利なものです。
今までWSHで書いたこれを使っていました。
<?xml encoding="SHIFT_JIS"?> <package> <job id="js"> <script language="JScript"> <![CDATA[ var Shell = WScript.CreateObject('WScript.Shell'); var Env = Shell.Environment('PROCESS'); var Paths = Env('PATH').split(';'); WScript.Echo(''); WScript.Echo('----------------'); for(var I in Paths) WScript.Echo(Paths[I]); WScript.Echo('----------------'); WScript.Echo(Env('PATHEXT')); WScript.Echo('----------------'); ]]> </script> </job> <job id="python"> <script language="Python"> <![CDATA[ import os, string Paths = os.environ['PATH'].split(';') print print '----------------' for I in Paths: print I print '----------------' print os.environ['PATHEXT'] print '----------------' ]]> </script> </job> </package>
Rebolなら一行。
print replace/all get-env "PATH" ";" "^/"
簡単だなあ。スクリプト言語なんて手応えが無いぐらいでいいのかもなあ。やってることが違うのは気にしない。
いやー、単なる置換でいいのを今気付いたんです。分割してループするならこんな。
paths: parse get-env "PATH" ";" forall paths [print first paths] foreach [i] parse get-env "PATH" ";" [print i]