したがって、私のエイリアスを検索するエイリアスを作成するのがアイデアです。私はかなりたくさん持っています。
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
無視されます。
答え2
riciが提案したように、エイリアス定義の末尾のスペースを削除すると問題が解決します。
ただし、別名に同義語や略語があるだけでなく、パイプ付きの関数コードもある場合は、別名の代わりに関数を定義することをお勧めします。