`&&`または `||`を介したチェーンFishコマンド


回答:


13

慣れている論理演算子は、2018-12-28にリリースされたfish 3.0.0以降でサポートされています。

v3リリースノート

  • fishは、POSIX準拠のシェル(#4620)からの移行を改善するために&&(like and)、||(like or)、および!(like not)をサポートするようになりました。

132

Fishには、論理AND(&&)または論理OR(||)の特別な構文はありません。

代わりに、コマンドandとを使用してor、前のコマンドの終了ステータスを確認し、それに応じてアクションを実行できます。

command1
and command2
command1
or command2

さらに、bashと同様に、セミコロン;を使用して2つのコマンドを次々に実行できます。

command1 ; command2

これにより、より使い慣れた構文を使用できます。

command1 ;and command2
command1 ;or command2

http://fishshell.com/docs/current/tutorial.html#tut_combinersを参照してください


4
この構文のサポートを追加するオープンgithubの問題があります:&&は機能しません・問題#150・fish-shell / fish-shell
aboy021

20
This allows using a more familiar syntax:非常に主観的です
ペトルペラー

1
;and&&セミコロンが論理的に互いに素な操作を示唆するよりも読みにくい。それは視覚的に不快です。
好戦的なチンパンジー

@Elliott同意しますが、Fishはあなたに選択肢を与えません。
デニス

1
ただし、魚とボーンのシェルでは、Cベースの言語とは異なり、AND演算子とOR演算子の順序は同じであることに注意してください。unix.stackexchange.com
a
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.