意思: 獲取Python的位置
獲取Python路徑,應(yīng)該有幾種寫法,自己一下想到的是which
,怎么也不會(huì)想到command
這種命令(事實(shí)上,很少見到這個(gè)命令),然考慮到寫這個(gè)腳本(virtualenvwrapper.sh)的是大神,必然shell編程經(jīng)驗(yàn)比我豐富,踩過的坑比我多,這樣寫必然有其道理, 所以這道理
是啥?
具體地,我將問題拆解成以下幾個(gè):
which
是啥?
用$(which python)
不可以嗎?
command
是一個(gè)啥命令? (man command
沒有輸出)
Linux Python2.7
virtualenvwrapper是常用的Python包,它是利用了shell包裝了virtualenv,所以我想看看它的shell實(shí)現(xiàn) 然發(fā)現(xiàn),有些部分不是很懂要重現(xiàn),可以去看virtualenvwrapper.sh這個(gè)腳本 注意: 在不同Linux發(fā)行版,不同shell(bash/zsh)程序中的位置不同(具體見官方手冊(cè))
摘取部分代碼
# Locate the global Python where virtualenvwrapper is installed. if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then VIRTUALENVWRAPPER_PYTHON="$(command which python)" fi# Set the name of the virtualenv app to use. if [ "$VIRTUALENVWRAPPER_VIRTUALENV" = "" ] then VIRTUALENVWRAPPER_VIRTUALENV="virtualenv" fi# Set the name of the virtualenv-clone app to use. if [ "$VIRTUALENVWRAPPER_VIRTUALENV_CLONE" = "" ] then VIRTUALENVWRAPPER_VIRTUALENV_CLONE="virtualenv-clone" fi
Google了:
command which python