引数とパラメータを使用してBashエイリアスを作成する方法
BASH環境では、一連のファイルのエイリアスを構築します。エイリアスは、BASH関数、変数などを使用することで、よりプログラム的かつ汎用的にすることができます。Bashエイリアスは、多くの繰り返し操作のためのいくつかのショートカットコマンドを作成する方法です。ここでは、引数とパラメータを使ってbashエイリアスを作成する方法について説明します。残念ながら、エイリアスがパラメータや引数を受け入れないいくつかのケースがあります。しかし、エイリアスコマンドを実行する際にパラメータや引数を受け入れるために関数を利用することができます。コマンドラインをより効率的に使用するために、bashエイリアスと関数を使用します。
Bashエイリアスの作成
私たちはすでにいくつかのプリセットエイリアスを持っています。パラメータなしでエイリアスコマンドを入力することで、システム上で既に設定されているすべてのエイリアスが表示されます。以下にターミナルを開き、次のコマンドで指定しました。
alias私たちのシステムで設定されたエイリアスは、この特定のコマンドを実行した後に取得されます。リストの上部には警告エイリアスがあります。その後、色情報を出力するgrepコマンドファミリーのためのいくつかのエイリアスが利用可能です。それに続いて、“ls ”コマンドのためのさまざまなエイリアスがあります。カスタムエイリアスが作成されると、それもリストに表示されます。
私たちはシステムのエイリアスを設定しました。今、私たちはLinuxで非常に簡単なカスタムエイリアスを作成する必要があります。以下に提供された構造を使用することで、コマンドラインでエイリアスを定義できます。
alias MyTest='ls -l'
エイリアスキーワードは、新しいエイリアス名を宣言するために使用されます。上記のエイリアスコマンドのように、エイリアスには「test」という名前を付けました。そして、等号で観察されるエイリアスのコマンドを指定しました。ここでのエイリアスコマンドは「ls -l」で、これはシステム内のすべてのディレクトリとファイル(隠しファイルを含む)をリスト表示します。
引数を受け取るBashエイリアス
私たちはエイリアス「MyTest」をエイリアス構造で作成しました。今、私たちはそのエイリアスに引数を渡そうとしています。デフォルトでは、エイリアスは引数を受け入れることができます。以下のコマンドは、上記で作成したエイリアス「MyTest」に引数を渡しています。ここでの引数は現在のディレクトリ「/」です。
MyTest /ターミナルでエイリアスを作成した後、引数を受け取るコマンドのエイリアスを実行し、私たちのエイリアスに関連付けられたすべてのディレクトリをリストしました。
エイリアスは同時に複数の引数を受け入れることもできます。以下のコマンドでは、「home」ディレクトリと「root」ディレクトリを「MyTest」エイリアスの引数として提供しています。
MyTest /home /root上記のエイリアスが複数の引数を受け取る出力は、端末に結果を表示しました。
パラメータを受け入れるBashエイリアス
時々、エイリアスが1つ以上の引数やパラメーターを受け付けない状況に遭遇します。このために、さまざまな引数やパラメーターを受け入れるためにbash関数を使用しました。ここでは、ディレクトリを作成し、ユーザーがmkdirコマンドを使用せずにそのディレクトリに入ることを可能にする基本的なbash関数を使用しています。
Newmkcd ()
{
mkdir -p -- "$1" && cd -p -- "$1"
}「Newmkcd」は、パラメータ「$1」と「$2」が渡されるbash関数の名前です。私たちは好みに応じてさらに引数を挿入することができます。これは、パラメータがbash関数名の後にどこに配置されるかによります。予約されたbash関数名は変数$0に保存されることに注意してください。AND演算子「&&」は、最初のパラメータが成功裏に実行された場合のみ、第二のパラメータが実行されることを確認するためにこれらのパラメータの間で利用されます。さらに、このダッシュ「-」は、関数内に他のパラメータがないことを保証します。私たちがbash関数を作成したので、新しいディレクトリは簡単に作成され、そのディレクトリに移動することができます。
.bashrcでパラメータを受け付けるBashエイリアス
ファイル
Bashシェル関数は「.bashrc」ファイルに定義できますが、独自の定義ファイルに置く方が頻繁に良いです。.bashrcファイルは私たちのシステムのホームディレクトリにあります。インタラクティブシェルが開かれると、このファイルが読み込まれ、その引数が実行されます。ターミナルを開いて、以下のコマンドを貼り付ける必要があります。
gedit .bashrc
上記のコマンドがシェルで実行されると、システム上の「.bashrc」ファイルが起動します。そこで、すでに定義されたさまざまなエイリアスを見ることができます。次のセクションに達するまでファイルをスクロールする必要があります。
私たちがすべきことは、Ctrl+Cを押して「bash_aliases」セクションをコピーし、そのコピーしたセクションを同じ「.bashrc」ファイルに貼り付けることだけです。次に、以下のスクリプトスナップに示されているように、「bash_aliases」に「bash_MyFunctions」という新しい名前を付けました。それから、これらの変更を保存し、「.bashrc」ファイルを閉じます。
さらに、私たちはターミナルでtouchコマンドを使用してbash_MyFunctionファイルを作成し、それを編集して関数定義を追加しました。
touch .bash_MyFunctions.bash_MyFunctionsファイルはここに作成されました。さて、シェル上で次のコマンドを指定して起動しました。
gedit .bash_functionsファイル内では、引数とパラメータを受け取る次のbashシェル関数を定義しています。
function up() {
levels=$1
while [ "$levels" -gt "0" ]; do
cd ..
levels=$(($levels - 1))
done
}ここでは、キーワード「function」で始め、「up()」という関数名を設定しました。関数up()は、1つの数字ベースのコマンドライン引数のみを受け取ります。次に、「levels」という変数を宣言し、最初の引数「$1」で設定しました。「$1」は最初のコマンドライン引数であり、ユーザーが提供した数字を示します。その後、「while」条件を適用し、「$levels」の値がゼロより大きいか正であるかを比較しました。whileループには、ディレクトリツリー内のレベルを増加させる「cd..」コマンドが含まれていました。次に、「levels=$((levels-1))」というコマンドがあります。この式は、現在の値よりも小さなレベルの値を設定します。
レベルが「0」以上であれば、ループは再び実行されます。そして、もし「$level」値がゼロより大きくなく、負の値を持つ場合、ループはここで終了します。私たちはファイルを保存し、以下に示すコマンドを実行しました。
. .bashrc「..bashrc」コマンドは、ターミナルで実行されると「bash_MyFunctions」ファイルを読み込みます。 今、私たちはディレクトリツリーの特定のポイントを指定し、その後「2」を使って「上の」ポイントに戻りました。
結論
このガイドは、引数とパラメータを使ってbashエイリアスを作成する方法についてです。私たちは、引数とパラメータをbashエイリアスに渡す方法を探求しました。まず、bashエイリアスの作成から始め、次にエイリアスに単一および複数の引数を渡すショートカットコマンドを実行しました。その後、引数とパラメータをエイリアスに渡すための別の方法であるbash関数を提供しました。私たちは、エイリアス作成のためのBashシェルの構文に慣れ、Bash関数を使用してエイリアスをパラメータ化したいシナリオを認識しました。




