fish shellのコマンド置換は”`”バッククォートや”$()”ドルマークカッコでなく”()”を使う

タイトルの通り、fish shellでの、コマンド置換方法にについて、記載しています。

shやBashでは、”`”バッククォートや”$()”ドルマークカッコで記載しますが、
fish shellでは、”()”カッコで記載します。

fish shellのバージョンは3.1.2で実行しています。公式チュートリアルURL

fish shellのコマンド置換

コマンド置換では、あるコマンドの出力を別のコマンドの引数として使用します。他のシェルとは異なり、fishはコマンド置換にバックティックを使用しません。代わりに、括弧を使用します。

コマンド

echo In (pwd), running (uname)

実行例

> echo In (pwd), running (uname)
In /home/ubuntu, running Linux

コマンド出力結果を変数に設定

変数”os”に”uname”の出力結果を代入します。

> set os (uname)
> echo $os
Linux

“ダブルクォート内に指定

コマンド置換で日付をファイル名として指定します。

> touch "testing_"(date +%Y%m%d)".txt"
> ls *.txt
testing_20200517.txt