Zenity - nie działa kopiowanie

Dlaczego skrypt kopiuje folder dopiero jak uruchomię go w konsoli?

#!/bin/bash

    zenity --question --timeout 10 --title="The computer has finish is work" \

       --text="The computer has finish is work! \

          Should the computer remain on?"


    if [[$? -eq 0]] ; then

       cp -r /home/m/Pulpit/firefox /home/m/InstalledApps/firefox


    fi

Bo Twój skrypt jest bez sensu. Na początku wywołujesz okienko zenity z zupełnie niezwiązanymi tekstami, timeoutem ustawionym na 10 i NIE zapisujesz nigdzie tego, co user wybrał, a następnie sprawdzasz, czy polecenie wpisane w konsoli (lub użyte do uruchomienia skryptu) jest równe 0, co może być prawdziwe chyba tylko w przypadku, gdy skrypt ma nazwę “0” i znajduje się w $PATH lub gdy skrypt jest ręcznie uruchomiony z konsoli interaktywnej. Myślę, że miałeś na myśli coś takiego:

#!/bin/bash

if zenity --question --title="Pytanie" \

   --text="Skopiować katalog?" ; then

       cp -r /home/m/Pulpit/firefox /home/m/InstalledApps/firefox

fi

Nie mówiąc o tym, że patrząc po ścieżkach, sam cel takiego kopiowania jest dość wątpliwy. Co w ogóle próbujesz zrobić?

Do typowych zadań typu prawda czy fałsz możesz użyć również Gxmessage, sam kod będzie uproszczony. Lub zrób tak, jak pisał kolega, ponieważ najpierw sprawdzasz warunek i dopiero potem dostajesz informację i od decyzji zależy jak skrypt dalej zadziała.

Nie wspominając o angielszczyźnie :wink:

Chyba miałeś na myśli The computer has finished his work! :wink:

i prawdopodobnie Leave the computer turned on?

Pozdrawiam!

Ale to nie jest mój kod, tylko ściągnięty z jakiegoś tutorialu :stuck_out_tongue: Ja tylko zmieniłem ścieżkę na swoją a tekstu już nie ruszałem, skoro nie działało.

No to się jeszcze dziwisz, że nie działa tak? :slight_smile: Spróbuj jak pisaliśmy albo tak, jak kolega poprawił kod, albo użyj Gxmessage.

Pozdrawiam!