Strona 1 z 1

Nie działają skrypty

: 22 lipca 2019, 11:00
autor: pawelk29
Chciałem zacząć przygodę z pisaniem skryptów w bashu ale mam problem z ich uruchomieniem. Np

Kod: Zaznacz cały

k28@pk28:~$ '/home/pk28/Pulpit/BASH/Instrukcje_warunkowe/kopiowanie_pliku _do_katalogu.sh' 
/home/pk28/Pulpit/BASH/Instrukcje_warunkowe/kopiowanie_pliku _do_katalogu.sh: linia 30: błąd składni: nieoczekiwany koniec pliku
i tak z paroma skryptami
jeszcze jedno mam skrypt

Kod: Zaznacz cały

#!/bin/bash 
'systemctl poweroff'
i nie rmogę go uruchomić za pomoca kliknięcia a nadałem na niego uprawnienia do wykonywania
mam Debiana 10

Re: Nie działają skrypty

: 22 lipca 2019, 13:24
autor: dedito

Re: Nie działają skrypty

: 22 lipca 2019, 20:21
autor: lizard
Ad. pierwszy skrypt
Wygląda, że zapomniałeś o zamykającym apostrofie lub cudzysłowie, ew. brakuje kończącego "done" albo "fi", albo "esac".

Ad. drugi skrypt
Apostrofy są niepotrzebne. Dodaj na końcu linii "&> $HOME/Pulpit/log" i zobacz, czy po kliknięciu w skrypt na Pulpicie pojawił sie plik "log". Sprawdź jego zawartość.

Re: Nie działają skrypty

: 22 lipca 2019, 23:00
autor: ziomal

Kod: Zaznacz cały

#!/bin/bash 
systemctl poweroff &> $HOME/Desktop/log
ten działa

Re: Nie działają skrypty

: 23 lipca 2019, 07:52
autor: pawelk29
niestety nie działa, we wcześnieiszych wersiach Debiana ten skrypt działał ( z opcją z apostrofami)

Re: Nie działają skrypty

: 23 lipca 2019, 08:51
autor: dedito
Nie wiem jakim cudem skoro to co ujęte między apostrofami jest traktowane jako ciąg tekstowy.
Przede wszystkim pokaż co trafiło do logu.

Re: Nie działają skrypty

: 23 lipca 2019, 09:12
autor: pawelk29
tzn między odwrotnymi apostrofami

Re: Nie działają skrypty

: 23 lipca 2019, 09:23
autor: ziomal
Dla wyjaśnienia tylko dodam, że wczoraj sprawdzałem ten kod skryptu i na Buster on działa.
Jego wykonanie powoduje wyłączenie oraz tworzy plik log.
Zamiast Pulpit należy używać Desktop

Re: Nie działają skrypty

: 23 lipca 2019, 09:38
autor: dedito
Odwrotne apostrofy z kolei traktują to co między nimi jako polecenie i zwracają jego wynik, to by tłumaczyło, czemu skrypt działa.

Pulpit też może być, kwestia wyboru, gdzie ma lądować log.

Rozumiem, że temat rozwiązany i można zamykać.