2015-04-19 105 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。