Ich glaube, die üblichere Methode ist einfach zu sagen, dass das Skript Sudo ausführen muss, wie in:
sudo ./script_name.sh
Auf diese Weise wird das gesamte Skript mit Administratorrechten ausgeführt. Wenn Sie vom Standpunkt des Sicherheitsmodells aus darüber nachdenken, gibt es keinen Grund, warum ein Skript, das sudo zumindest für einen Teil des Dokuments benötigt, nicht einfach mit sudo ausgeführt werden sollte. Ansonsten ist es nur ein Ärgernis.
Wenn Sie jedoch darauf bestehen, sudo nur für bestimmte Teile zu verwenden, können Sie sudo in Ihr aktuelles Bash-Skript einfügen. Es wird zur Eingabe des Kennworts aufgefordert und auf den Eintrag gewartet, bis das Skript weiterhin ausgeführt wird. Nachdem Sie mindestens einen Sudo-Kennworteintrag erhalten haben, behalten alle nachfolgenden Sudos die erhöhten Berechtigungen bei und fordern Sie nicht erneut zur Eingabe des Kennworts auf. Es bleibt Ihnen auch die gesamte Terminalsitzung mit erhöhten Berechtigungen für zukünftige Sudo vorbehalten, die nicht im Skript ausgeführt werden.
Für gksudo denke ich, dass es eine Option ist, der Person mitzuteilen, dass sie den alt-f2-Ausführungsdialog verwenden soll. Statt sudo script_name.sh einzugeben, geben Sie gksudo ein und klicken Sie auf die Schaltfläche "Mit Datei ausführen" die Skriptdatei, die sie ausführen müssen. Ich weiß, dass es schwerfällig ist. Hoffentlich hat jemand eine elegantere Lösung.