素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2019年10月9日
最終更新日:

fishshellで「fish: Command substitutions not allowed」が出た場合の原因と解決方法【Command Substitution】

YouTubeも見てね♪

Anker PowerCor

created by Rinker
Anker
¥3,990 (2025/01/05 12:09:11時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
¥61,300 (2025/01/05 20:59:47時点 楽天市場調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,000 (2025/01/05 13:22:08時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥3,280 (2025/01/05 12:33:38時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,940 (2025/01/05 12:41:47時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥10,429 (2025/01/05 12:09:13時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

FishShellでエラー

Command Substitutionが使えない?!

FishShellを使っている中で、shellによくある$(コマンド)...みたいな記述を実行しようとすると、以下のようなエラーが出ると思います。

むむっ。

FishShellでは、Command substitutions許可されていないらしいですね。

詳細は以下の公式ページを見てみると良いでしょう。

The output of a series of commands can be used as the parameters to another command. If a parameter contains a set of parenthesis, the text enclosed by the parenthesis will be interpreted as a list of commands. On expansion, this list is executed, and substituted by the output. If the output is more than one line long, each line will be expanded to a new parameter. Setting IFS to the empty string will disable line splitting.fish: Documentation

では、どうすれば良いのでしょうか・・・orz

対処方法

evalで解決

解決方法はとても簡単で$(コマンド)...となっている部分をeval (コマンド)...と変えることで同様の期待を得る事が出来ます。

ちなみに、evalの後には半角スペースが必要なので気をつけましょう。

終わりに

以上のように、bashzshで動いていた部分が動かなくなってしまう原因の一つとなっています。

もしお困りの際は、こちらの方法を試してみてください♪

CATEGORIES & TAGS

IT