『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』を読んでいる最中です。今7章まで来ました。
7章は環境(変数)がテーマで、このようなコマンドが例示されています。
$ MESSAGE='wing it' ruby -e "puts ENV['MESSAGE']"
fishでやるとこうなりました。
$ MESSAGE='wing it' ruby -e "puts ENV['MESSAGE']" fish: Unsupported use of '='. To run 'ruby' with a modified environment, please use 'env MESSAGE=wing it ruby…' MESSAGE='wing it' ruby -e "puts ENV['MESSAGE']" ^
環境変数のセット方法MESSAGE='wing it'
がbashのものなのでエラーになってしまいます。
fish shellチュートリアルにあるように、fishではset -x 変数名 値
で環境変数が設定できます。
$ set -x MyVariable SomeValue $ env | grep MyVariable MyVariable=SomeValue
とりあえずこれでやってみました。
$ set -x MESSAGE "wing it" $ env | grep MESSAGE MESSAGE=wing it $ ruby -e "puts ENV['MESSAGE']" wing it
なるほど!! いや、全然なるほどじゃない。ワンライナーでやりたい。できないのかなー。悶々。