which and PATH

Kent Johnson kent37 at tds.net
Thu Dec 6 17:03:33 EST 2007


Can someone please explain this to me?

kent $ which curl
/opt/local/bin/curl

So if I run curl, I should get /opt/local/bin/curl, right? But I seem to 
get /usr/bin/curl:

kent $ /opt/local/bin/curl -V
curl 7.17.1 (i386-apple-darwin8.11.1) libcurl/7.17.1 zlib/1.2.3

kent $ curl -V
curl 7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7l

kent $ /usr/bin/curl -V
curl 7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7l

/opt/local/bin is ahead of /usr/bin/ in PATH:

kent $ echo $PATH$
/Users/kent/bin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/Current/bin:/bin:/sbin:/usr/bin:/usr/sbin$

AFAICT there is no curl ahead of /opt/local/bin/curl in PATH:
kent $ ls /Users/kent/bin/curl
ls: /Users/kent/bin/curl: No such file or directory
kent $ ls /usr/local/bin/curl
ls: /usr/local/bin/curl: No such file or directory
kent $ ls /opt/local/bin/curl
/opt/local/bin/curl

This is on Mac OSX, if it matters.

Color me confused.
Kent


More information about the gnhlug-discuss mailing list