2012-01-01 65 views
9

在OSX終端:猛砸管道提示找不到命令,有時

du -h | sort -nr 
-bash:  sort: command not found 

which sort 
/usr/bin/sort 

奇怪的是:我試圖複製錯誤,這似乎是完全隨機的。我的道路附和道:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/sytycs/.rvm/bin 

這種情況只發生在管道與grepmoreless等 任何想法是什麼原因造成這種情況?

回答

23

該空間不是空間。擦除並替換它。

+0

嗨,感謝您的回覆。我不確定你的意思是「清除並替換它」,但是我刪除了「|」和「sort」之間的空格,它似乎在工作,但是你能解釋爲什麼嗎? – wpp 2012-01-01 17:55:28

+0

因爲它不是空間,它只能看起來像一個 – 2012-01-01 18:00:55

+0

它有時會如何工作? – wpp 2012-01-01 18:05:16

27

這可能是因爲您使用非美國佈局的鍵盤佈局(也發生在我身上)。在德國的佈局,管道鍵入與Alt鍵 + ,所以機會是很高,你按下Alt鍵+空間事後,這將產生一個non-breaking space

一個快速的解決方案:添加行

"\xC2\xA0": " " 

~/.inputrc。這將把非破壞空間映射到正常的應該解決問題的空間。

如果您想了解更多細節(或者您對如何追蹤這類問題感興趣,前段時間我曾寫過a blog post)。

+0

謝謝@Michael我每隔一段時間都會遇到這個問題。 – wpp 2014-08-28 10:12:10

+1

真棒回答+1 – hitzg 2016-10-04 15:44:21

0

〜/ .inputrc的技巧不適用於zsh。但是,在這裏,您可以配置iTerm在鍵入alt +空格時發送空間,例如