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

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

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

help alias私の bash プロンプトで実行すると、次の結果のみが返されます:

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

次に、私が尋ねていることとはまったく関係のない非常に短いテキストが続きます。

私も試しました:

help function

しかし、それでもあまり情報は得られませんでした。

例えば:

 alias mancat="man command | cat"

そうすれば、mancat grepと同等の を実行できるようになりますman grep | cat

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

答え1

エイリアスではなく関数を使用する必要があります。

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

は、でgrepfor を実行し、一致しない行( ) のみを選択し、最後に最初の行 (または最後の行) のみを選択します。pattern1filepattern2grep -v

関連情報