エイリアスのgrepに「間違った最大数」が表示されるのはなぜですか?

エイリアスのgrepに「間違った最大数」が表示されるのはなぜですか?

したがって、私のエイリアスを検索するエイリアスを作成するのがアイデアです。私はかなりたくさん持っています。

dude@gnarleybox:~$ grep alg .bash_aliases.sh
alias alg='alias | grep '
dude@gnarleybox:~$ alias | grep alg
alias alg='alias | grep '
dude@gnarleybox:~$ alg gd
grep: invalid max count
dude@gnarleybox:~$ 

ああ? 2つのパラメータを取得するためにgrepを使用しますか?どうやってこれができますか?最後に空白なしでこれを試しました。

alias alg='alias | grep' 

次の項目のみを入力してください。

 alg gd 

...GoogleDocsのインストールに使用したエイリアスを取得します。

ベストアンサー1

gdまた、エイリアスのように見え、andに展開されます-m。表示するには:

$ alias alg='alias | grep '
$ alias gd='-m foo'
$ alg gd
grep: invalid max count

表示されるエラーメッセージは、(maxcount)オプションと数値以外の引数が与えられたgrepときに印刷されることです。-mを実行すると、alias | grep gd上記のものと一致することがわかります。

説明したようにman bash

エイリアス値の最後の文字がスペースまたはタブの場合、エイリアスの後の次のコマンドワードもエイリアス拡張を確認します。

したがって、エイリアスからスペースを削除するとalg問題も解決されます。

~/.bash_aliases.shそして、あなたはこの記事を読んでいる人がいますか?これデフォルトのファイル名拡張はありません~/.bash_aliases。明示的にソースを指定しない限り~/.bash_aliases.sh無視されます。

おすすめ記事