Zamiast mówić ci, jak to zrobić, powiem ci, że nie powinieneś tego robić.
TL; DR - Nie zmieniaj skryptu. Zamiast tego skonfiguruj menedżera plików lub dowiedz się, dlaczego użytkownicy go przypadkowo uruchomili.
EDYCJA: Wydaje się, że traktujesz swój skrypt jako coś specjalnego, jakby ogólne ustawienia nie były wystarczająco dobre, a twój skrypt wymaga specjalnego potwierdzenia od użytkownika. Podwójne kliknięcie na nim jest potwierdzenie. Jeśli okaże się, że użytkownicy uruchamiają go przypadkowo, musisz dowiedzieć się, dlaczego to robią, i zamiast tego rozwiązać. Zatem twoim prawdziwym problemem nie jest to, jak wymagać potwierdzenia, ale jak zapobiec przypadkowemu uruchomieniu go przez użytkowników.
Ze sposobu, w jaki ujawniasz swój problem, wydaje się, że oczekujesz uruchomienia programu (skryptu), przechodząc do miejsca, w którym znajduje się plik, a następnie klikając go w menedżerze plików. Pomyśl o wszystkich innych programach w twoim systemie. Ilu tak zaczynasz? Czy nawigujesz /usr/local/binpo uruchomieniu Firefoksa? Oczywiście, że nie. Kliknij na niego z menu aplikacji. (gnome tweak to skrypt w języku Python, może to lepszy przykład)
Mamy nadzieję, że nie pomyślisz o kliknięciu go w menu aplikacji jako wypadku. Twój problem polega na tym, jak sprawić, by skrypt pojawiał się tam zamiast używać menedżera plików. Aby to zrobić, wykonaj następujące czynności:
umieść skrypt z dala od innych plików, w których użytkownik może go przypadkowo kliknąć (typowe miejsce to /usr/local/bin/instalacja systemowa lub instalacja ~/.local/bin/użytkownika)
utwórz plik Entry Desktop Entry (przeczytaj standardowe specyfikacje ). Oto minimalny przypadek:
[Desktop Entry]
Name=Your script name
Exec=path/for/your/script
Icon=path/for/your/icon/can/be/svg
Terminal=false
Type=Application
i wepchnij to w /usr/local/share/applications/your-script.xmllub ~/.local/share/your-script.xml.
Wreszcie biegnij update-desktop-database.
Ponieważ dwukrotnie klikasz skrypt, potwierdzeniem tego jest menedżer plików. Skrypt nie musi potwierdzać, czy powinien zostać uruchomiony. Weź to do końca. Czy potrafisz sobie wyobrazić, jak absurdalne byłoby, gdybyś za każdym razem, gdy wywoływałeś jakiś program, musiał to potwierdzić?
Jedyny moment, w którym program powinien poprosić o potwierdzenie, to moment, w którym ma zamiar zrobić coś potencjalnie niebezpiecznego i nieodwracalnego. Na przykład nadpisanie pliku lub ominięcie kosza. I zauważ, że nawet te przykłady dotyczą zmuszenia programu do zrobienia czegoś konkretnego. Nie dotyczą uruchamiania takich programów. Jeśli jedynym celem programu jest zrobienie tak niebezpiecznej rzeczy, nie powinno to również wymagać potwierdzenia.
Rzeczywiście, Nautilus (menedżer plików Gnome) już domyślnie prosi o potwierdzenie, czy chcesz wykonać skrypt (lub po prostu otworzyć go w edytorze tekstu).

Oczywiście zachowanie to można konfigurować, co daje użytkownikowi możliwość wyłączenia go (wprowadzenie notatek w plikach tekstowych wykonywalnych ).

Nie dodawaj irytującego okna dialogowego potwierdzenia do skryptu. Skonfiguruj poprawnie menedżera plików. I pozwól swoim użytkownikom zrobić to samo.
if zenity...lubzenity... || exit