Chcę utworzyć prosty skrypt bash, aby uruchomić program Java na OS X. Nazwy pliku, ścieżki pliku i natychmiastowego folderu roboczego zawierają spacje. Kiedy to zrobić:Bash OS X: dirname
#!/bin/sh
cd `dirname $0`
uzyskać
usage: dirname path
Próbowałem również wprowadzanie cytatów w najróżniejszych miejscach. Najbardziej wymyślnym przykładem jest
Nic nie zadziałało. Otrzymuję komunikat o błędzie lub tę tajemniczą wiadomość "use: dirname path".
Jakie inne metody mogą działać?
Edit: to nie wydaje się być problemem dla każdego, ale ja po prostu tak musi być moja skrzynka. Przyjmuję poniżej mój post, ponieważ jest to jedyne rozwiązanie, które działało dla tego konkretnego problemu. Jednak zdecydowanie korzystam z rozwiązań, które wydają się działać dla wszystkich i naprawdę doceniają pomoc każdej osoby.
Co daje wydajność "echo 0 $"? dirname może mieć problem z czymś konkretnym o wartości 0 USD.Czy próbowałeś uruchomić to ze skryptem w innym katalogu? – fbrereto
Twój drugi przykład działa dla mnie z katalogiem na sześć poziomów, gdzie każdy inny przodek ma co najmniej jedną spację w nazwie. – Chuck
kiedykolwiek spróbuj spojrzeć na stronę manuala dirname? –