私が定期的に使用するファイルがいくつかあります。たとえば、いくつかの設定ファイルやログファイルがあります。 Apacheのログファイルを考えてみましょう。私はしばしばtail
それを望んでいますgrep
。以下を書く代わりに:
tail -50 /var/log/apache2/error_log
私は書くことを好む
tail -50 apachelog
したがって、apachelog
そのファイル名のエイリアスとして機能します。ただし、myにエイリアスを定義するには、bashrc
後で参照できるようにファイル名のエイリアスにすることはできない完全なコマンドでなければなりません。これを達成する方法はありますか?
注:実行したいさまざまなファイルとさまざまなコマンドがあるため、これらのさまざまなオプションの関数やエイリアスを作成することは私の好みの解決策ではありません。
答え1
以下を使用して変数を定義し、$
その値を呼び出すことができます。
apachelog=/var/log/apache2/error_log
tail -50 $apachelog
Bashではもっとうまくできません。 zshでは、コマンドラインのどこにでも展開されるグローバルエイリアスを定義できます。
alias -g apachelog=/var/log/apache2/error_log
tail -50 apachelog
apachelog
ただし、文字列をコマンドに引数として渡したい場合は、引用する必要があることを覚えておく必要があるため、これはお勧めできません。
答え2
関数を生成して「backwards」コマンドを作成できます。
apachelog() {
"$@" /var/log/apache2/error_log
}
apachelog tail -50
答え3
ディレクトリのエイリアスはlinkです。そのため、1つの可能性は、ディレクトリに関心のあるファイルへの複数のリンクを作成することです。次に、tailにrtailのエイリアスを指定して、そのディレクトリ内のファイルを見つけます。
答え4
これをあなたの中に入れてください。~/.bashrc
alias tailapache='tail -50 /var/log/apache2/error_log'
source ~/.bashrc
新しいbashセッションを実行または開始します...
それからただ入るだけです。tailapache