Linuxでエイリアスとシェル関数を作成する方法は?

最後のコマンドの後にも来てください:



function_name(){command1; command2; }

LikaエイリアスであるBashシェル関数は、「。bashrc」ファイル内で定義できますが、多くの場合、独自の定義ファイルに配置する方が適切です。 「.bash_aliases」ファイルに使用される規則に従って、これを「.bash_functions」と呼びます。

つまり、定義を読み込むように「.bashrc」ファイルに指示する必要があります。 「.bash_aliases」ファイルを読み取るコードのスニペットをコピーして修正できます。 geditを起動し、次のコマンドで「.bashrc」ファイルを読み込みます。



gedit .bashrc

gedit.bashrcファイル



以下に示す強調表示されたセクションを追加する必要があります。



エイリアスセクションを強調表示してCtrl + Cを押してから、新しいセクションを配置する場所に移動し、Ctrl + Vを押してテキストのコピーを貼り付けることができます。次に、「。bash_aliases」と表示されている2つの場所を「.bash_functions」に変更するだけです。

.bashrcファイルにbash_functionsを追加する

これらの変更を保存してgeditを閉じることができます。



次に、「。bash_functions」ファイルを作成および編集し、その中に関数定義を配置します。

touch .bash_functions gedit .bash_functions

.bash_functionsの作成と編集

これにより、geditで空の「.bash_functions」ファイルが開きます。

upという簡単な関数を追加します。 upは、数字である単一のコマンドラインパラメータを取ります。その後、upはcd ..をその回数呼び出します。したがって、コマンドを使用した場合

アップ2

upはcd ..を2回呼び出し、ディレクトリツリーの2レベル上に移動します。

関数を定義するにはさまざまな方法があります。これが1つです。

関数up(){

関数という言葉はオプションです。伝統主義者の場合はそれを使用し、入力するのが面倒な場合は省略します。

geditの機能全体は次のとおりです。

.bash_functionsファイルの編集

関数up(){

これは関数定義の始まりを示し、関数に名前を付けます。

レベル= $ 1

これにより、という変数が作成されます レベル そしてそれを最初のパラメータの値に設定します。このパラメーターは、ユーザーが関数を呼び出すときにユーザーが提供する数字になります。 1ドルは、「最初のコマンドラインパラメータ」を意味します。

while ['$ Levels' -gt '0'];行う

次にループに入り、「when」と解釈されます。 」の「 レベル 」が正またはゼロより大きい場合は、ループの本体に含まれていることを実行してください。」

ループの本体の中には、2つのコマンドがあります。彼らです:

cd ..

ディレクトリツリーのレベルを上に移動します。

レベル= $(($ levels-1))

レベルを現在の値より1つ小さい新しい値に設定します。

次に、ループの先頭に戻り、レベルの値とゼロの比較をもう一度行います。 「レベル」がゼロより大きい場合、ループの本体が再度実行されます。正でないかゼロより大きくない場合、ループは終了し、doneステートメントにドロップスルーして、関数は終了します。

保存する これらの変更と終了 gedit

「.bashrc」内のコマンドを読み込んで実行します。「。bash_functions」ファイル内のコマンドを読み込んで実行する必要があります。

。 .bashrc

..bashrcを呼び出す

ディレクトリツリーのある場所に移動し、upを使用してディレクトリツリーの「上位」のポイントに戻ることで、関数をテストできます。

cd ./work/backup/ up 2

機能アップ

機能は動作します。ツリーの2つ上のディレクトリレベルに移動しました。

タイプで追跡する

エイリアスのスイートと関数のライブラリを構築すると、特定のコマンドがエイリアスであるか関数であるかを思い出すのが難しくなる可能性があります。あなたは「 タイプ' 思い出させるコマンド。ここでのすばらしい点は、定義も確認できることです。

タイプを使用してみましょう FTC エイリアスとアップ機能。

タイプftcタイプアップ

タイプの使用

それぞれのコマンドの種類とその定義について、非常に便利なリマインダーを受け取ります。

収集を開始します

エイリアスと関数を使用すると、コマンドラインの使用を大幅に高速化できます。コマンドシーケンスを短縮でき、標準コマンドで常に使用するオプションを組み込むことができます。気の利いたワンライナーや便利な関数を見つけるたびに、それを適応させてパーソナライズし、「。bash_aliases」または「.bash_functions」ファイルに追加することができます。これらを幅広く使用することで、シェルでの時間をより楽しく、より簡単にすることができます。

潜在的に破壊的な動作で既存のコマンドを再定義することに注意することを忘れないでください。反対のことをして、コマンドをより安全なバリアントにエイリアスする(たとえば、再帰的に削除する前に常に確認を求める)場合でも、システムに依存するようになると、システムがない状態で初めてシステムにアクセスしたときに、再び噛み付く可能性があります。 。エイリアスを作成するのに適した候補を見つけるには、履歴で最も一般的に使用されるコマンドを検索することをお勧めします。

読んだ12分