特定のファイルまたはディレクトリのエイリアスを設定するにはどうすればよいですか?


9

よく使うファイルがいくつかあります。たとえば、いくつかの構成ファイルまたはログファイル。Apacheのログファイルについて考えてみましょう。私は頻繁にしたいtailか、grepそれ。書く代わりに:

tail -50 /var/log/apache2/error_log

私は書くことを好む

tail -50 apachelog

つまり、apachelogこのファイル名のエイリアスとして機能します。しかし、でエイリアスを定義する場合bashrc、それはコマンド全体である必要があります。後で参照できるように、(明らかに)ファイル名のエイリアスにすることはできません。これを達成する方法はありますか?

注:実行したいファイルやコマンドが多岐にわたるため、これらのさまざまなオプションのすべてに対して関数やエイリアスを作成することは、私の推奨する解決策ではありません。

bash  alias 

回答:


10

変数を定義し、aを使用し$てその値を呼び出すことができます。

apachelog=/var/log/apache2/error_log
tail -50 $apachelog

あなたはバッシュでより良くするつもりはありません。zshでは、コマンドラインのどこにでも展開できるグローバルエイリアスを定義できます。

alias -g apachelog=/var/log/apache2/error_log
tail -50 apachelog

ただし、お勧めしません。apachelogコマンドに引数として文字列を渡す場合は、引用符で囲む必要があるためです。


良い答え、特に「これを推奨しない」の部分。これは、エイリアス名の選択が不適切な災害のレシピのように聞こえます...
Shadur


2

ディレクトリのエイリアスはリンクです。そのため、1つのディレクトリに目的のファイルへの多数のリンクを作成することが1つの可能性です。次に、rtailをtailにエイリアスして、そのディレクトリでファイルを検索します。


0

これを〜/ .bashrcに入れてください

 alias tailapache='tail -50 /var/log/apache2/error_log'

ソース〜/ .bashrcを実行するか、新しいbashセッションを開始します...

次に、「tailapache」と入力するだけです

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.