emahiro/b.log

日々の勉強の記録とか育児の記録とか。

【fish】CLI上で利用する変数を保持する

fishでのお話。

ターミナル上で特定の文字列を変数にセットして使う方法

$ set x (ls) | echo $x
# 当該ディレクトリ上で ls した内容を出力する

set x (何か出力をともなうコマンド) とすると () 内で実行されたコマンドの出力結果を x に格納する。

セットした変数をコマンドとして実行する

sample:

$ set x "pwd"; and echo $x
pwd # 文字列をそのまま出力するだけでは文字列化された `pwd` コマンドは実行されない
$ set x "pwd"; and eval $x
~/PROJECT_ROOT # 出力された

eval コマンドを実行すると文字列化されたコマンドを入れた変数をコマンドとして実行する。