1
我們的代碼檢查節點安裝:ZSH這/那裏別名-p不識別節點
which="type -p"
if [ $SHELL = "/bin/zsh" ]; then
which="whence"
fi
# make sure that node exists
node=`$which node 2>&1`
ret=$?
if [ $ret -ne 0 ] || ! [ -x "$node" ]; then
<"This error code is returned">
但是當我運行這個與ZSH(OhMyZsh)它返回一個127(不存在)。評論出which="whence"
可以讓它運行良好。
不消除整個別名位有沒有辦法讓ZSH與此一起玩?理想情況下,我想在我的最終做出改變來完成這項工作,而不是完全修改此代碼。
在下一段代碼中編輯(對不起)。當我運行這個時,-p仍然返回相同的錯誤。 – 2012-07-23 16:54:07
這很奇怪。我會理解'$ which node'在設置爲'type -p'時運行錯誤127:與bash不同,zsh將它視爲一個單詞並且''type -p「'命令不存在(使用'$ = which '要解決或使用由bash支持的數組)(行爲是默認的,有一個選項可以使zsh的行爲像bash一樣)。順便說一句,測試zsh是'!測試-z $ ZSH_VERSION',而不是'$ SHELL'。 – ZyX 2012-07-23 17:10:12