
私は2つの方法だけを知っています:alias foo=bar
そしてfunction foo() { bar }
。
私が尋ねる理由は - 突然私のbashセッションの1つで - エラー(私の環境変数のエントリの1つ)のln
ためにコマンドを実行できなかったからです。bash
-bash: /usr/local/.../ln: No such file or directory
/usr/local/.../
PATH
ただし、実行すると予想されるバイナリが出力されるPATH
ため問題になりません(絶対パスを指定すると正しく実行されます)。which ln
/usr/bin/ln
ln
また、私のalias
宣言を確認しましたが、function
何もありません。
$ declare -f | grep ln
$ alias | grep ln
問題は1つのbashセッションでのみ発生します。新しいシェルを起動すると再びうまくいきますが、この特定のbashセッションで突然この問題を引き起こす原因は何ですか?
この問題の原因に関するアイデアはありますか?
答え1
このコマンドを使用するときは注意してくださいwhich
。コマンドを使用することをお勧めしますtype ...
。
$ type ln
ln is /bin/ln
whereis
次のコマンドを使用することもできます。
$ whereis ln
ln: /bin/ln /usr/share/man/man1p/ln.1p.gz /usr/share/man/man1/ln.1.gz