2014-10-09 32 views
-1

改變目錄時,在OSX上我zsh終端,我收到錯誤__variables_definition:57: bad option: -n連續兩次每當我使用cd,當我第一次打開終端。我試着用谷歌搜索錯誤,並沒有收到任何結果。我希望這裏的人看起來很熟悉。有人告訴我,看看cd是否是別名,但通過輸入alias,它似乎不是。接收錯誤「__variables_definition:57:壞的選擇:-n」在巖組終端

這似乎沒有造成任何實際問題,這只是一個輕微的煩惱,我想知道是什麼原因造成的。

enter image description here

+0

下來的選民可以解釋倒票嗎? – domi91c 2014-10-11 05:46:22

回答

1

它看起來像chpwd鉤被設置爲一個錯誤的腳本。

每次更改工作目錄時都會調用此掛鉤。有兩種方法可以設置此掛鉤:

  1. 通過設置定義名爲chpwd的函數。檢查此運行whence -c chpwd。它將通過定義名稱爲chpwd_functions的數組來返回函數體或「chpwd not found」
  2. ,該數組包含要調用的函數列表。運行echo $chpwd_functions以獲取列表,然後whence -c name爲每個名稱獲取函數體(或只是for func in $chpwd_functions; do whence -c $func; done一次完成)。

很可能這裏是第二種情況,罪魁禍首是一個名爲__variable_definition的函數。在該功能的第57行中,對不知道選項-n的命令有錯誤的調用。考慮到周圍功能的名稱,它可能是typeset或其等價物之一declare,float,integer,localreadonly

您必須查看您的zsh配置,其中__variable_definition已定義,並修復錯誤。

注意whence -c name的輸出並不總是完全與函數的定義完全相同 - 除了其他事項 - 空行被刪除。由於錯誤消息中的行號是指原始定義(包括空行),因此與whence -c name的輸出相比,編號可能會關閉。

+0

謝謝。使用'whence -c __variables_definition',我發現它是一個RVM函數。我很難弄清楚如何修復函數中的錯誤,所以我剛剛重新安裝了RVM,解決了這個問題。 – domi91c 2014-10-28 03:21:05