Strona 1 z 1

Skrypt w bashu nie działa, polecenia uruchomione w konsoli działają

: 20 maja 2013, 10:47
autor: sethiel
Jak wpisuję z ręki poniższe polecenie to działa:

Kod: Zaznacz cały

tar -cjf "KATALOG ZE (SPACJA) I +.tar.gz" "/virtual/datastore3-1/KATALOG ZE (SPACJA) I +"
to tworzy się plik archiwum o nazwie "KATALOG ZE (SPACJĄ) I +.tar.gz"

Natomiast jak to wywołuję ze skryptu to już nie działa.

Kod: Zaznacz cały

#!/bin/bash
for a in `ls /virtual/datastore3-1/`; do
tar -cjf "$a" "/virtual/datastore3-1/$a"
done
Gdzie mam błąd?
Swoją drogą widać ogromną kreatywność użytkowników w tworzeniu nazw katalogów.

: 20 maja 2013, 13:11
autor: tom.k
Zamien linijkę:

Kod: Zaznacz cały

for a in `ls /virtual/datastore3-1/`; do
na:

Kod: Zaznacz cały

for a in "$(ls /virtual/datastore3-1/)"; do

P
owinno pomoc.

Pozdrawiam.

: 13 czerwca 2013, 21:21
autor: Andyk
A jak normalnie używasz polecenia tar? Tak:

Kod: Zaznacz cały

tar -cjf katalog katalog
Poza tym brakuje znaku: przed done.

Ja nie nazwałbym skryptem tego co napisałeś, to jest jednolinijkowiec tak zwany. Wklej sobie w konsolę po kolei i zobacz gdzie nie działa.