2012-07-13 2 views
26

私は通常ps -elf | grep proceesnameを使用して、processnameという名前のプロセスの詳細な説明を取得します。私はこれについてあまりにも多くを書かなければならないと思う。引数でbashエイリアスを作成するには?

今私が考えていたものはわずかlsps processnameを使用して上記の詳細な説明を与えるであろう

alias lsps='ps -elf | grep $1' 

のようなbashのエイリアスを作成することです。

私の質問は、引数を受け入れるbashエイリアスを作成する方法です。

PS:私は上記のタスクのためのシェルスクリプトを書くことができますが、私はちょうどbashエイリアスでそれを行う方法を考えていた。

+0

エイリアスは単純に引数を取らない。 – chepner

+0

GNU 'ps'の場合、 'lsps(){ps -lf -C" $ 1 "; } '。 – Sorpigal

答えて

43

非常にシンプルに。

alias lsps='ps -elf | grep' 

コマンドライン引数は、エイリアスの最後に自動的に追加されます:あなたはエイリアスの末尾に引数を追加したい場合にのみ機能します

lsps arg1 arg2 arg3 => converted to => ps -elf | grep arg1 arg2 arg3 

あなたが関数を使用する必要があり、拡張コマンドラインの内側にエイリアスの引数を取得したい場合:たとえば

を:

lsps() 
{ 
    ps -elf | grep "$1" | grep -v grep 
} 

機能だけでなく、エイリアスはあなたの~/.bashrcファイルに保存することができます)またはそこからインクルードされているファイル:

$ cat /tmp/.bash_aliases 
lsps() 
{ 
    ps -elf | grep "$1" | grep -v grep 
} 

$ . /tmp/.bash_aliases 
$ 
+0

ありがとうございました。しかし、もし私が議論をしなければならないならどうしますか? – RanRag

+2

その場合の関数を使用してください –

+0

これは奇妙です。関数名の後ろにスペースを追加してもかまいません(その定義で)。私はすべての作品を完璧に見ることができるので、私の答えに使い方の例を加えました。 –

5

この使用します。そして、あなたは、この発行することができ

alias lsps='ps -elf | grep' 

を:

lsps processname 
関連する問題