パラメータを取るBashエイリアスを作成しますか?質問する

パラメータを取るBashエイリアスを作成しますか?質問する

私はCShell() を使用すると、パラメータを取るエイリアスを作成できます。表記は次のようになります。

alias junk="mv \\!* ~/.Trash"

Bash では、これは機能しないようです。Bash には多数の便利な機能があるため、この機能は実装されていると思いますが、どのように実装されているのか気になります。

ベストアンサー1

Bash エイリアスはパラメータを直接受け入れません。関数を作成する必要があります。

aliasパラメータは受け入れませんが、関数はエイリアスのように呼び出すことができます。例:

myfunction() {
    #do things with parameters like $1 such as
    mv "$1" "$1.bak"
    cp "$2" "$1"
}


myfunction old.conf new.conf #calls `myfunction`

ちなみに、あなたの.bashrcファイルや他のファイルで定義されたBash関数は、シェル内でコマンドとして利用できます。例えば、先ほどの関数を次のように呼び出すことができます。

$ myfunction original.conf my.conf

おすすめ記事