2015-04-19 128 views
1

我碰到了pyspark的代碼,並有一個功能,讓我很困惑。Linux哈希命令搜索

if hash python2.7 2>/dev/null; then 
    # Attempt to use Python 2.7, if installed: 
    DEFAULT_PYTHON="python2.7" 
else 
    DEFAULT_PYTHON="python" 
fi 

有人評論說:「#確定Python可執行程序使用,如果PYSPARK_PYTHON或PYSPARK_DRIVER_PYTHON未設置: 」,但我只用哈希查找最近使用的shell命令的頻率,我真不不知道這是如何工作的。

任何人都可以幫助我理解這個if語句嗎?

+1

你用哈希來做什麼?你的意思是'歷史'和'uniq'? 'hash'命令是[here](http://www.gnu.org/software/bash/manual/bashref.html#index-hash)。 –

+0

我不確定你的問題在哪裏。似乎它根本不是關於'hash'(你可能需要編輯問題標題),但是如果[[...]]''if'看起來不像common''。如果這是個問題,那麼只需在Bash運行'help if'並閱讀它。 – livibetter

+0

@livibetter:'if cmd;然後回聲工作; else echo nope; fi'是測試'cmd'退出狀態的常用方式。要看到它的工作,試着在我的示例中用'/ bin/true'或'/ bin/false'代替'cmd'。祝你們好運。 – shellter

回答

0

from here,如果提供名稱,散列將搜索$ PATH。