Invece di dirti come farlo, ti dirò che non dovresti farlo.
TL; DR - Non modificare lo script. Invece configura il tuo file manager o scopri perché gli utenti lo eseguono accidentalmente.
EDIT: sembri considerare lo script come in qualche modo speciale, come se le impostazioni generali non fossero abbastanza buone e lo script necessitasse di una conferma speciale da parte dell'utente. Fare doppio clic su di esso è la conferma. Se scopri che i tuoi utenti lo eseguono per caso, devi capire perché lo fanno e risolverlo invece. Quindi il tuo vero problema non è come richiedere la conferma ma come impedire agli utenti di eseguirlo accidentalmente.
Dal modo in cui esponi il tuo problema sembra che ti aspetti che il tuo programma (script) venga eseguito navigando verso dove si trova il file e quindi facendo clic su di esso dal file manager. Pensa a tutti gli altri programmi nel tuo sistema. Quanti ne inizi così? Ti navigare a /usr/local/binquando si avvia Firefox? Certo che no. Fai clic su di esso dal menu delle applicazioni. (gnome tweak è uno script in pitone forse è un esempio migliore)
Spero che non consideri un clic su di esso dal menu delle applicazioni un incidente. Quindi il tuo problema diventa come far apparire lo script lì invece di usare il file manager. Per fare questo, fai le seguenti cose:
posizionare lo script lontano dagli altri file in cui l'utente può fare clic su di esso per errore (il luogo tipico è /usr/local/bin/per un'installazione a livello di sistema o ~/.local/bin/per un'installazione utente)
creare un file Voce desktop (leggere le specifiche standard ). Ecco un caso minimo:
[Desktop Entry]
Name=Your script name
Exec=path/for/your/script
Icon=path/for/your/icon/can/be/svg
Terminal=false
Type=Application
e spingerlo dentro /usr/local/share/applications/your-script.xmlo ~/.local/share/your-script.xml.
Finalmente corri update-desktop-database.
Dato che fai doppio clic sullo script, è compito del tuo file manager confermarlo. Non è compito dello script confermare se deve essere eseguito. Porta questo all'estremo. Riesci a immaginare quanto sarebbe ridicolo che ogni volta che chiamassi un programma dovessi confermarlo?
L'unica volta in cui un programma dovrebbe chiedere conferma è quando sta per fare qualcosa di potenzialmente pericoloso e irreversibile. Ad esempio, sovrascrivendo un file o ignorando il cestino. E nota che anche questi esempi riguardano come fare in modo che un programma faccia qualcosa di specifico. Non si tratta di avviare tali programmi. Se un solo scopo del programma è fare una cosa così pericolosa, allora non dovrebbe nemmeno chiedere conferma.
Infatti, Nautilus (gestore dei file Gnome) ti chiederà già di default se vuoi eseguire uno script (o semplicemente aprirlo in un editor di testo).

E, naturalmente, questo comportamento è configurabile, dando all'utente la possibilità di disattivarlo (nota nota su file di testo eseguibili ).

Quindi non aggiungere una fastidiosa finestra di dialogo di conferma al tuo script. Configura correttamente il tuo file manager. E lascia che i tuoi utenti facciano lo stesso.
if zenity...ozenity... || exit