OS X bash: dirname

Je veux créer un simple script bash pour lancer un programme Java sur mac OS X. Le nom du fichier, le chemin d'accès au fichier et le dossier de travail de tous les contenir d'espaces. Quand je fais cela:

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

- Je obtenir

usage: dirname path

J'ai aussi essayé de mettre les guillemets dans toutes sortes d'endroits différents. La plus élaborée, par exemple

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

Rien n'a fonctionné. Soit je reçois un message d'erreur ou que cryptic "usage: dirname chemin" message.

Quelles sont les autres méthodes qui pourraient travailler?


Edit: cela ne semble pas être un problème pour personne, mais moi, donc il doit tout simplement être ma boîte. Je vais accepter mon propre post ci-dessous parce que c'est la seule solution qui a fonctionné pour ce problème spécifique. Cependant, je ne suis certainement upvoting les solutions qui semblent être au travail pour tout le monde et j'apprécie vraiment l'aide de tous.

Ce n' echo $0 rendement? dirname pourrait avoir un problème avec quelque chose de spécifique au sujet de la valeur de $0. Avez-vous essayé de lancer ce script dans un répertoire différent?
Votre deuxième exemple fonctionne pour moi avec un répertoire de six niveaux de profondeur où tous les autres ancêtre a au moins un espace dans son nom.
jamais essayer de regarder dirname la page de manuel?
Je suis à la recherche d'elle en ce moment. Ce que je cherche?

OriginalL'auteur Dinah | 2009-08-20