Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OS X bash: dirname

I want to create a simple bash script to launch a Java program on OS X. The names of the file, the file path, and the immediate working folder all contain spaces. When I do this:

#!/bin/sh
cd `dirname $0`

I get

usage: dirname path

I have also tried putting quotes in all kinds of different places. The most elaborate example being

cd "`dirname \"$0\"`"

Nothing has worked. I either get error messages or that cryptic "usage: dirname path" message.

What are other methods that might work?


Edit: this doesn't seem to be an issue for anyone but me so it must just be my box. I'm going to accept my own post below because it's the only solution which worked for this specific problem. However I'm definitely upvoting the solutions which seem to be working for everyone else and really appreciate everyone's help.

like image 827
Dinah Avatar asked Aug 20 '09 21:08

Dinah


2 Answers

What about:

cd "$(dirname "$0")"

That works for me here.

like image 111
Sean Bright Avatar answered Sep 21 '22 17:09

Sean Bright


#!/bin/sh
cd "$(dirname "$0")"
like image 42
Ned Deily Avatar answered Sep 18 '22 17:09

Ned Deily