2013-03-07 4 views
5

Próbowałem wprowadzić funkcjonalność opisaną w artykule na blogu "All of bash history revisited". Zasadniczo to, co umożliwiają ci skrypty, to utrzymywanie całej historii bash na zawsze i podczas wielu sesji.Cała historia basha Brak takiego pliku lub katalogu błędów w katalogach ze spacjami

Ktoś uprzejmie wykonał cały kod easily accessible on Github.

Jednak kiedy używam katalogu ze spacjami:

cd ~/Desktop/ 
mkdir "dir with spaces" 
cd dir\ with\ spaces/ 

następnym razem zalogować otrzymuję błędy jak poniżej:

-bash: pushd: /Users/jack/Desktop/dir: No such file or directory 
-bash: pushd: with: No such file or directory 
-bash: pushd: spaces: No such file or directory 

jedyne odniesienie, że nie zrozumiałem wydaje się być przyczyną problemu:

# Now change to the new dir and add to the top of the stack 
pushd "${the_new_dir}" > /dev/null 

Mam nadzieję, że niektórzy specjaliści od skryptów bash mogą wskazać błąd w kodzie, więc mogę go załatać.

+1

Nie jestem pewien, ale spróbuj 'the_new_dir =" $ 1 "' zamiast 'the_new_dir = $ 1'. – nneonneo

+0

Cytowanie @nneonneo nie jest potrzebne w rozszerzeniu po prawej stronie zadania. Podział słów nie występuje tam. – jordanm

+0

Czy jest coś jeszcze w twoim .bashrc, który dusi się na nazwie katalogu? – danfuzz

Odpowiedz

4

To był winowajcą:

for x in `hd 20` `pwd`; do cd_func $x ; done 

Replace with:

(hd 20; pwd) | while read x; do cd_func "$x"; done 

życzenie Pull wydanym na github repo.

Powiązane problemy