Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bash piping in OSX prompts command not found, sometimes

In the OSX terminal :

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

which sort
/usr/bin/sort

The weird thing is: I tried reproducing the error and it seems to be totally random. My PATH echoed:

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

This only occurs when piping and happens with grep, more, less etc. Any idea what is causing this?

like image 914
wpp Avatar asked Jan 01 '12 17:01

wpp


1 Answers

This likely happens because you use a keyboard layout with a non-US layout (happened to me too). On German layouts, the pipe is typed with Alt+7, so chances are high that you press Alt+Space afterwards, which will produce a non-breaking space.

A quick solution: Add the line

"\xC2\xA0": " "

to your ~/.inputrc (if you are using bash). This will map non-breaking spaces to normal ones which should solve the problem.

If you want more detail (or if you are interested in how you can track down these kinds of issues), I wrote a blog post about it some time ago.

like image 156
Michael Trojanek Avatar answered Sep 28 '22 23:09

Michael Trojanek