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

Bash zadanie

VPS Starter Arubacloud
0 głosów
286 wizyt
pytanie zadane 18 października 2015 w Inne języki przez toyboy Początkujący (270 p.)
edycja 25 października 2015 przez toyboy

2 odpowiedzi

0 głosów
odpowiedź 18 października 2015 przez furas Maniak (53,800 p.)
edycja 18 października 2015 przez furas

Dla mnie określenie "przyjmuje trzy argumenty" oznacza, że podaje je jako argumenty przy uruchomieniu (a nie wpisuje na stałe) 

skrypt.sh katalog /jakas/sciezka/do nazwa_pliku

i muszę użyć specjalnych zmiennych $1, $2,itd aby je w skrypcie przechwycić .

Błąd jaki widzę to używanie spacji w nazwie pliku. Jeśli nazwy nie weźniesz w cudzysłów to każdy wyraz nazwy będzie potraktowany jako osoby parametr.

---

przy okazji: na forum jest specjalny przycisk do wstawiania kodu przez co jest kolorowany i bardziej czytelny.

---

Poniższe 

ls $arg_1 | cat > $arg_3 

możesz zapisać krócej 

ls $arg_1 > $arg_3 

Podobnie w innych przypadkach z `| cat`

---

Nie chce mi się czytać wszystkich punktów ale widzę, że masz usunąć plik `backup` z pokatalogu `Backup` ale usuwasz `backup` z katalogu aktualnego - ani nie podajesz `Backup` w ścieżce usuwanego pliku, ani nie przechodzisz do tego podkatalogu `cd`

0 głosów
odpowiedź 18 października 2015 przez Szykem2 Nałogowiec (29,510 p.)

Pierwsze liniki są ok tylko pod warunkiem, że tak się nazywają te pliki chciaż z treści zadania wnioskuję, że chodzi o wywołanie skryptu z parametrami np.

./script.sh katalog /home/costam/cat_1 plik

tu odsyłam do tutoriala link

teraz linika 6 nie pamiętam jakie argumenty przyjmyje pwd ale shell raczej będzie to podciągał pod jakiś właśnie argument spróbuj echo "$(pwd)/$arg_1"

linika 8 echo `ls` > $arg_3

linika 10 próbujesz kopiować katalog arg_1 do katalogu Backup a nie plik w tym katalogu. Dodaj /$arg_1 i to za pipe'em też nie zadziała bo próbujesz przenosić $arg_3 z aktualnego katalogu a nie Backup(pipe'a bym zamienił na &&)

linika 13 tu też próbujesz usunąć plik z aktualnego katalogu a jesteś instancję wyżej rm Backup/backup

ostatnie 4 liniki nie może być odstępów w nazwie pliku bo bash traktuje to jako operacje na osobnych plikach musisz wszędzie przed spacją dodać \ i powinno działać.

Ogólne uwagi: nie uważasz na to, gdzie w hierarchii katalogów się aktualnie znajdujesz przez co źle wywołujesz komendy.

komentarz 18 października 2015 przez toyboy Początkujący (270 p.)
Dzięki za odpowiedzi.

To jest na pewno poprawnie? Jeśli tak, to dlaczego tak jest to zapisane?
komentarz 19 października 2015 przez Szykem2 Nałogowiec (29,510 p.)
Napisałem najpoważniejsze błędy jakie są w tym skypcie. Może się okazać, że coś przeoczyłem musisz potestować i zobaczyć czy działa tak jak ma działać.

Podobne pytania

0 głosów
4 odpowiedzi 274 wizyt
pytanie zadane 20 stycznia 2017 w Inne języki przez Bartek Grubarski Początkujący (250 p.)
0 głosów
1 odpowiedź 147 wizyt
pytanie zadane 11 listopada 2018 w C i C++ przez bastih48 Początkujący (320 p.)
0 głosów
3 odpowiedzi 91 wizyt
pytanie zadane 8 stycznia 2023 w Inne języki przez Kreks07 Nowicjusz (120 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...