• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skrypt powłoki Bash linux - nie wykonuje sie kompresja.

0 głosów
742 wizyt
pytanie zadane 3 kwietnia 2018 w Systemy operacyjne, programy przez Vaxiris Początkujący (260 p.)

Witam.

Napisałem skrypt, który moim zdaniem powinien kompresować pliki txt, które mam dostępne w katalogu home/student/dane każdy z osobna (jeden pik --> jedno archiwum). Jest to kompresja zip. Jednakże przy wywołaniu tego skryptu widnieje napis "Nothing to do". Oto kod:

#!/bin/bash

cd /home/student/wynik
mkdir kompresja_pojedynczo
cd /home/student/dane
for a in *.txt ; do
zip -r /home/student/wynik/kompresja_pojedynczo/$a.zip /home/student/dane/$a.txt
done

Pliki te noszą nazwę {litera}_plik.txt lub {liczba}_plik.txt. Wydaje mi się, iż jest to problem z zastosowaniem zmiennej w poleceniu zip, ponieważ sama pętla dla plików się wykonuje. Poniżej wstawiam komunikat widoczny po wywołaniu:

Proszę o pomoc dla początkującego studenta :D

1 odpowiedź

+1 głos
odpowiedź 3 kwietnia 2018 przez Benek Szeryf (94,170 p.)
wybrane 3 kwietnia 2018 przez Vaxiris
 
Najlepsza

Po prostu nie masz takiego pliku jak:

$a.txt

Skoro u Ciebie w pętli zmienna a iteruje po wszystkich plikach *.txt, to dodawanie rozszerzenia do zmiennej a jest tym samym co utworzenie pliku jakasnazwa.txt.txt zamiast jakasnazwa.txt.

komentarz 3 kwietnia 2018 przez Vaxiris Początkujący (260 p.)
Po dokonaniu poprawek składniowych skrypt "zatrybił". Dziękuję za pomoc. Ciężko było mi dojść do tego iż wywoływałem w poleceniu zip pliki {numer lub liczba}_plik.txt.txt. Temat do zamknięcia.

Podobne pytania

0 głosów
2 odpowiedzi 454 wizyt
pytanie zadane 15 kwietnia 2018 w Matematyka, fizyka, logika przez niezalogowany
0 głosów
1 odpowiedź 1,638 wizyt
+1 głos
1 odpowiedź 1,662 wizyt
pytanie zadane 11 kwietnia 2021 w Offtop przez Mavimix Dyskutant (8,490 p.)

93,778 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,382 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...