web-dev-qa-db-ja.com

実行時に変更できる変数を使用してエイリアスを定義するにはどうすればよいですか?

これはおそらく非常に答えやすい質問ですが、タイトルを書くときの言い回しが異なるため、すでにこれを尋ねている質問は見つかりませんでした。

Bashプロンプトでhelp aliasを実行すると、次のメッセージのみが返されます。

alias: alias [-p] [name[=value] ... ] 

次に、私が求めていることとは何の関係もない非常に短いテキスト。

私も試しました:

help function

しかし、それは私にも多くの情報を与えませんでした。

例えば:

 alias mancat="man command | cat"

mancat grepと同等のman grep | catを実行できるようにします。

これは変数と呼ばれることは知っていますが、それらは未定義であり、サンプルコマンドを実行するときのようにいつでも変更できるようにしたいと思います。

3
DisplayName

エイリアスではなく関数を使用する必要があるため、

mancat () { man "$1" | cat ; }
mancat grep

あなたがやりたいことをします。

同様に

mygrep () { "$1" "$3" "$2" | "$1" -v "$4" | "$5" -n1; }
mygrep grep pattern1 file pattern2 head
mygrep grep pattern1 file pattern2 tail

greppattern1に対してfileを選択し、pattern2grep -v)と一致しない行のみを選択し、最後に最初にのみ選択します(または最後の)行。

6
jimmij