![なぜ'どのようなものですか?`エイリアスを選択していませんか? [コピー]](https://linux33.com/image/152104/%E3%81%AA%E3%81%9C'%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%60%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
私はOSXを使用しており、python --version
bashシェルで実行すると、次のような結果が得られます。
$ python --version
Python 3.7.3
しかし、which python
コマンドはバージョン2.7を指しているようです。
$ which python
/usr/local/bin/python ls -al /usr/local/bin/python
lrwxr-xr-x 1 me admin 36 11 Apr 22:28 /usr/local/bin/python -> ../Cellar/python@2/2.7.16/bin/python
私がこれをしたからだと思いますalias python=python3
。しかし、なぜwhich python
別名が選択されないのですか?
答え1
GNUは - シェルプロンプトに入力したときに実行される実行可能ファイル(またはエイリアスまたはシェル関数)を見つけるユーティリティです。
which(1) のマニュアルページから盗む:
このユーティリティを使用するための推奨される方法は、エイリアス(Cシェル)またはシェル関数(Bourneシェル)を次のように追加することですwhich
。
which () {
(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
export -f which
この機能を永久に有効にするには、それを~/.bashrc
シェルまたは使用するシェルに入れます。