Skrypt w bashu nie dzia

Potrzebujesz pomocy z C, C++, perl, python, itp.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

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

Post 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.
tom.k
Posty: 16
Rejestracja: 11 marca 2013, 11:21

Post 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.
Awatar użytkownika
Andyk
Beginner
Posty: 125
Rejestracja: 08 listopada 2008, 01:24

Post 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.
ODPOWIEDZ