|
[+] Bash - problem z importem zmiennych
szczypior88 - 24-03-2007 09:13
Witam.
Mam tak problem, polecenie:
tar -cf /home/grzesiek/temp.tar /media/hda1/Program\ Files/STREAM\ soft/Ala/Kopia*
kończy się poprawnie utworzeniem archiwum z danymi, ale kiedy chcę pokombinować z importowaniem zmiennych i uruchamiam skrypt: #!/bin/bash foldery=`cat zmienne | grep Foldery| cut -d = -f2` tar -cf /home/grzesiek/temp.tar $foldery
gdzie plik zmienne wygląda tak: Foldery=/media/hda1/Program\ Files/STREAM\ soft/Ala/Kopia*
to wyświetla:
tar: Usunięcie początkowego `/' z nazw plików tar: /media/hda1/Program\\: Nie można stat: Nie ma takiego pliku ani katalogu tar: Files/STREAM\\: Nie można stat: Nie ma takiego pliku ani katalogu tar: soft/Ala/Kopia*: Nie można stat: Nie ma takiego pliku ani katalogu tar: Zakończenie z błędem z powodu uprzednich błędów
Choć na mój chłopski rozum jedno z drugim jest równoważne.
radex - 24-03-2007 12:28
Jak widać nie bash nie radzi sobie z katalogami zawierającymi spację w nazwie. W skrypcie podmień
tar -cf /home/grzesiek/temp.tar $foldery
na tar -cf /home/grzesiek/temp.tar "$foldery"
Możesz jeszcze wcześniej za pomocą echo wyświetlić tą zmienna, żeby sprawdzić czy jest poprawna.
pzd br
szczypior88 - 24-03-2007 15:46
na tar -cf /home/grzesiek/temp.tar "$foldery"
super! teraz działa :D dzięki wielkie :)
[ Dodano: 2007-03-24, 16:20 ] kurczę, za wcześnie się cieszyłem :(
problem pojawia się w momencie, kiedy chcę w tej zmiennej umieścić kilka folderów, bo są traktowane jako jedna ścieżka...
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|