Fish は、すべての初心者プログラマーが使用すべき Bash の代替品です

in tech

Linux コマンドラインで行うことはすべて、気にするかどうかに関係なく、シェルに関係します。おそらく Bash か、Zsh の可能性がありますが、いずれにせよ、大小を問わずすべてのシェル スクリプトと非常に関連性があります。

Fish Shell は、プログラマにとって特に魅力的な機能を備えた代替手段です。コーディングに興味があるだけでも、この興味深いシェルをチェックしてみると有益です。

Fish とは何ですか? どのように使い始めるのですか?

POSIXを超えたフレンドリーでインタラクティブなシェル

魚は、主にデフォルトではないため、見落とされがちな貝です。 CachyOS は、確かに最近多くの関心を集めているディストリビューションですが、まれな例外です。

CachyOS ターミナル。

シェルを変更するプロセスは簡単ですが、見つけやすさと親しみやすさが、私たちのほとんどが Bash または Zsh に固執する要因である可能性があります。ただし、シェルはターミナル コマンドの実行とスクリプト作成の基礎であるため、シェルについて少し学ぶ価値があります。あなたが感じているメリットは広く普及するはずです。

他のシェルと同様に、Fish には独自のスクリプト言語が組み込まれています。シェル スクリプト言語は通常、学習と使用が簡単ですが、その理由の 1 つは、一般的なコマンド ラインの使用方法の拡張にすぎないことです。

Fish には、構文の強調表示やオートコンプリートから Web ベースの設定、そして略語と呼ばれる標準エイリアスの超強力バージョンに至るまで、初心者に優しい機能も満載されています。

Bash や Zsh などのシェルとは異なり、Fish は POSIX 標準に従っていません。これは、Fish スクリプトが他のシェルで必ずしも正しく実行されるとは限らないことを意味するため、幅広いユーザー向けのソフトウェアを構築している場合は、この点に留意する必要があります。ただし、すべての個人的な作業には、Fish が最適です。

Fish の使用を開始するには、Homebrew (Mac) でインストールしてから始めます。 ブリューインストールフィッシュ、パックマン(アーチ)、 パックマン -S フィッシュ、dnf (Fedora)、および dnf インストールフィッシュ、またはシステムに適した方法を選択してください。

インストールしたら、コマンドを実行するだけで試すことができます 。変更を永続的にするには、chsh コマンドまたはシステムの同等の GUI を使用します。

/bin/bash、/bin/csh、およびその他のオプションを示すログイン シェル メニューを含むユーザーの詳細を表示する macOS システム設定アプリ。

魚は初心者に優しい

経験豊富なユーザーも含め、誰もが Fish の使いやすさの恩恵を受けます

Fish を起動すると、最初に気づくのは、フレンドリーなウェルカム メッセージと独特のプロンプトです。

メッセージを出力するfishコマンドを表示する端末 "フレンドリーなインタラクティブなシェル、fish へようこそ。"

ただし、シェルの操作を開始するとすぐに、シェルの自動提案とオートコンプリートの優れたサポートに気づくでしょう。たとえば、次のように入力します。 ls その後にタブを押すと、ls で始まる実行できるすべてのコマンドのリストが表示されます。

ls コマンドの後に、次で始まる数行のコマンドが続きます。 "ls"—lsappinfo や lsm など。各コマンドには簡単な説明が付いています。

自動提案は、オプションやファイル名などのその他の引数に対してもそのまま使用できます。

コマンドラインの読み取り "ls -F" 可能な補完の行を示しており、各行はコマンドのオプションを表しています。 1 つ、-F が選択されており、インジケーターが追加されます。

この機能は、コマンドをすべて入力するのにかかる時間を短縮する便利な方法であるだけでなく、発見にも役立ちます。たとえば、オプションの単純なリストを使用すると、マニュアルのページをスクロールするよりも、ざっと目を通し、便利な機能を見つけることがはるかに簡単になります。

構文の強調表示も優れた機能の 1 つですが、実際に試してみるまでは少し不必要に思えるかもしれません。構文の強調表示は、単に見た目を良くするだけでなく、コンテキストとセマンティクスを一目で理解するのに役立ちます。たとえば、エラー報告を考えてみましょう。 Fish でコマンドをタイプミスすると、それはすぐにわかります。

タイプミスのあるコマンドライン—"ガープ" の代わりに "grep"— メッセージが赤色で表示されます "魚: 不明なコマンド: gerp。"

Fish には、ヘルプと設定用の組み込み Web ページも付属しています。いずれかにアクセスするには、単に次のコマンドを実行します。 ヘルプ または 魚の設定 それぞれコマンドを実行します。 Web ブラウザが自動的に開き、関連ページが表示されます。

Fish Web ベースのヘルプには、「はじめに」、「よくある質問」、「Fish 言語」などのセクションへのリンクが表示されます。

Fish の Web インターフェイスはすべてローカルで実行されるため、オフラインの場合でもヘルプを参照したり、システムを設定したりできます。

Fish は初心者から上級者まで、あらゆるユーザーにとって親しみやすく、簡単です。プログラマーであれば、その便利なショートカットが他のユーザーと同じように日常の作業に役立つことがわかるでしょう。ただし、その機能はプログラミングの特定のタスクにも役立ちます。

Fish はプログラマにも優しい

シェルには、プログラマーにとって特に役立つ機能が含まれています

スクリプト言語はどのシェルの中核でもあり、Fish はまったく異なる外観の言語で Bash や Zsh などのシェルとは区別されます。一般に、Fish はシンボリック構文よりもコマンドを優先します。 $((i+1))、あなたならこう書きますね 数学 $i + 1

Fish は、一般的な間違いに役立つメッセージで対応することで、Bash からの移行の特定の側面を支援します。

コマンドが $$ 変数を使用しようとすると、読み取りエラーのフィッシュが発生します。 "Fishでは$fish_pidを使用してください。"

Fish のデフォルトのプロンプトには、最後のコマンドの終了コードも表示されます。これは、使用されているコードを発見したり、何か問題が発生したときを特定したりする優れた方法です。

エラー終了ステータス 1 を赤色で示す Fish プロンプト。

引数の解析は、より複雑なシェル スクリプトでは非常に一般的なタスクですが、Bash ではそれほど簡単にはできません。 Fish では、argparse コマンドを使用してスクリプトがサポートするオプションを定義し、対応する変数を自動的に設定できます。

前に見た Fish_config コマンドには、現在の変数値やキー バインディングのリストなど、非常に役立つ情報が含まれています。特に関連するのは、定義された関数を参照できる「関数」ページです。

関数のコンテンツを示すfish Web UI、fish_is_root_user。

これを使用すると、独自の関数を表示するだけでなく、Fish に組み込まれている多くの関数を参照することもできます。これらには非常に便利なコードが含まれていますが、言語の学習にも最適です。

チェックする価値のあるもう 1 つの優れた機能は、関数の定義に使用される function コマンドと、それがサポートするオプションです。使用できます –ラップ 関数が別のコマンドをラップすることを宣言します。この場合、関数はそのコマンドのタブ補完を自動的に継承します。その間、次のことができます。 – 説明 簡単なドキュメントを追加します。これはタブ補完でも使用されます。

なぜ Bash ではなく Fish を使用するのでしょうか?

プログラマとして、常に好奇心を持ち続けることは有益です。そのため、これだけでも、現在流行している Linux ディストリビューションのデフォルト シェルをチェックする価値があります。しかし、Fish は、プログラミング生活をより楽しくし、より簡単にプログラムを作成できるようにする多くの便利な機能を提供します。

関連情報は以下のリンクからご確認いただけます

公式情報はこちら

関連記事

前の投稿
オンラインフィットネスのアドバイスが矛盾しているように見える理由
次の投稿
いいえ、ソニーはゲーマーに 30 日ごとにインターネットに接続することを強制していません