[+]Skrypt bash

Potrzebujesz pomocy z C, C++, perl, python, itp.
moloch
Posty: 4
Rejestracja: 12 czerwca 2016, 09:56

[+]Skrypt bash

Post autor: moloch » 12 czerwca 2016, 10:08

Czesc,

Mam pewien problem i nie wiem jak sobie z nim poradzić. Jestem dość świeży jeżeli chodzi o programowanie, Linuxa czy pisanie skryptów w bash.
Problem polega na tym, że:

Moj skrypt znajduje się w np w /root/skrypt

dst_path="/nauka/dir1/dir2"
tmp_path="tmp"
nazwa_pliku=test
#Zmienna tmp_path to katalog tworzony automatycznie po odpaleniu skryptu w katalogu gdzie skrypt sie znajduje.

if cp $tmp_path/$nazwa_pliku $dst_path && echo Kopiuje plik wynikowy do $dst_path.
then echo "Plik zostal skopiowany"
else echo "Plik nie został skopiowany- sprawdz dlaczego !!!"
fi

Problem w tym że cp nie dochodzi do skutku, ciągle mam komunikat "cp: nie można utworzyć zwykłego pliku `/nauka/dir1/dir2': Nie ma takiego pliku ani katalogu".
Ostatnio zmieniony 12 czerwca 2016, 11:11 przez moloch, łącznie zmieniany 1 raz.

Awatar użytkownika
dedito
Moderator
Posty: 2959
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Skrypt bash

Post autor: dedito » 12 czerwca 2016, 11:01

Komunikat raczej jasno "mówi", że nie ma takich katalogów.
Wypadałoby je najpierw utworzyć lub dopisać do skryptu coś na bazie polecenia mkdir.
Jak poczytasz man cp to znajdziesz też opcję --parents.

moloch
Posty: 4
Rejestracja: 12 czerwca 2016, 09:56

Re: Skrypt bash

Post autor: moloch » 12 czerwca 2016, 11:09

Katalogi są utworzone. Przepraszam ze o tym wczesniej nie wspomnialem. Operacja wykonywana z roota

Awatar użytkownika
dedito
Moderator
Posty: 2959
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Skrypt bash

Post autor: dedito » 12 czerwca 2016, 11:19

moloch pisze:Katalogi są utworzone.
Gdzie?

moloch
Posty: 4
Rejestracja: 12 czerwca 2016, 09:56

Re: Skrypt bash

Post autor: moloch » 12 czerwca 2016, 11:29

bezpośrednio na dysku /nauka - jest równolegle do katalogów /root/, /home/ itp.

Awatar użytkownika
dedito
Moderator
Posty: 2959
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Skrypt bash

Post autor: dedito » 12 czerwca 2016, 11:33

W takim razie pokaż to w odpowiednim wyniku:

Kod: Zaznacz cały

ls /

moloch
Posty: 4
Rejestracja: 12 czerwca 2016, 09:56

Re: Skrypt bash

Post autor: moloch » 12 czerwca 2016, 11:46

Chyba problem rozwiązany - jeszcze musze dokladnie potestowac z roznych lokalizacji. Wygląda na to ze problemem był brak / po $dst_patch
było:
if cp $tmp_path/$nazwa_pliku $dst_path

jest
if cp $tmp_path/$nazwa_pliku $dst_path/
i działa. Dzieki za pomoc :)

Awatar użytkownika
dedito
Moderator
Posty: 2959
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Skrypt bash

Post autor: dedito » 12 czerwca 2016, 11:48

To akurat nie ma znaczenia (przynajmniej u mnie).

Zablokowany