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
Chyba miałeś na myśli The computer has finished his work!