Wie starte ich in Linux eine Bash-Skript-Datei auf bequeme Art und Weise?

...komplette Frage anzeigen

2 Antworten

Hallo

Wenn ich nun in das Terminal eingebe -->

bash home/Username/Dateipfad/Skriptdateiname.sh

dann wird mein Passwort verlangt

Wenn ich ein Script starte das mir selber gehört, dann wird da niemals eine Passwortabfrage kommen, die nämlich kommt nur, wenn Du z.B. im Script Programme verwendest welche nur mit root-Rechten auszuführen sind.

Allerdings bin ich darüber jetzt enttäuscht, ich wollte die Bash-Skript-Datei mit einem einzigen Mausklick ausführbar machen, ohne jedes mal die Bash-Skript-Datei mit vollständiger Angabe des Dateipfades zur Bash-Skript-Datei im verdammten Terminal starten zu müssen :-((

Deine Enttäuschung rührt daher das Du es eben (noch) nicht weißt, dafür kann Linux aber nichts.

Dann schreibe den kompletten Pfad in das Script und lege es, wie es sich unter GNU/Linux gehört,  in einem Pfad ab der in der Variablen $PATH steht, dann nämlich kannst Du es einfach durch:

Skriptdateiname.sh

starten.

Legst Du für das Script noch einen Symlink, zum Beispiel als Desktopsymbol, ab, dann kannst Du es durch einen Klick oder Doppelklick¹ ausführen lassen.

Linuxhase


¹ Das hängt vom verwendeten Desktop ab und davon wie man diesen konfiguriert hat.

Erst mal recht herzlichen Dank für deine hilfreiche Antwort !

Ja, im Skript steht ein Befehl drin für den man root-Rechte braucht.

Die Passwortabfrage stört mich auch so weiter nicht.

Wie finde ich den Pfad heraus der in der Variablen $PATH steht ?

0
@DepravedGirl

die PATH-Variable steht in keinem Pfad, das ist eine Variable (Speicherplatz) , die beim Einloggen erstellt wird und irgendwo im RAM steht.

Du kannst die temporär, gültig im jeweiligen Terminal/Konsole mit

export PATH=$PATH:<neuer-Pfad>:<weiterer-neuer-Pfad> .... 

erweitern.

Soll diese Änderung permanent werden, dann ( je nach Distribution und login-Shell ) gehört dieser Code in  die

~/.profile
~/.bashrc
....

2
@guenterhalt

Vielen Dank für den Kommentar :-)) !

Dass die PATH-Variable nur temporär ist musste ich inzwischen auch schon feststellen ...

0
@DepravedGirl

temporär, ja und nein. Da sie erst nach dem Booten erstellt wird, ist sie immer temporär. Da man sie aber erstellen kann, dass sie nach dem Booten/Einloggen immer den gleichen Inhalt hat, ist sie praktisch statisch.

Mit temporär bei Eingabe des Befehls export PATH=$PATH.... habe ich gemeint, dass sie nur in diesem Terminal (und seinen "Nachfolgern" ) gültig ist, in anderen Terminals oder gar in bereits existierenden Terminals, nicht.

 

1
@DepravedGirl

@DepravedGirl

Ja, im Skript steht ein Befehl drin für den man root-Rechte braucht.

Dann ist das ja geklärt ;-)

Ich habe jetzt die Informationen zu PATH gefunden -->

Bei mir liegen die eigene Scripte, die nicht beim Systemstart ausgeführt werden sollen, in /home/linuxhase/bin bereit um aufgerufen zu werden. Für administrative Scripte wäre eher /sbin  das richtige Verzeichnis.

Würdest Du mir sagen/schreiben welches Kommando Du da ausführen möchtest? - Eventuell gibt es noch einen besseren Weg.

Linuxhase

2
@Linuxhase

Ein virtuelles Laufwerk soll erschaffen werden indem eine bereits vorhandene ISO-Datei eingelegt werden soll. Das Ganze soll aber nicht beim Systemstart geschehen, sondern nur dann, wenn ich es will.

Alle meine Skriptdateien werden im ein und demselben Verzeichnis liegen, daher wäre es das beste wenn die PATH-Variable permanent gesetzt wäre.

0
@DepravedGirl

@DepravedGirl

Ein virtuelles Laufwerk soll erschaffen werden indem eine bereits vorhandene ISO-Datei eingelegt werden soll. Das Ganze soll aber nicht beim Systemstart geschehen, sondern nur dann, wenn ich es will.

Gut, dann ist es in /home/$USER/bin wohl gut aufgehoben. Obwohl ich mir dann auch gut vorstellen könnte sudo zu nutzen um dem User genau diese Aufgabe, also das mounten einer ISO-Datei, zu ermöglichen, so würde man sich die Passworteingabe sparen.

Alle meine Skriptdateien werden im ein und demselben Verzeichnis liegen, daher wäre es das beste wenn die PATH-Variable permanent gesetzt wäre.

Wie gesagt, lege alles nach /home/$USER/bin und gut ist's, denn dieser Pfad steht immer in $PATH drinnen (logisch, es ist ja Dein Verzeichnis für ausführbare Dateien :-)

Linuxhase

1

Zitat ein

Hat jemand eine Idee wie man eine Bash-Skript-Datei mit einem einzigen Mausklick ausführbar machen kann ?

Zitat aus

Mit dem Mausklick kannst Du die Verknüpfung mit der Bash auf der grafischen Oberfläche öffnen - ist das Terminal dann geöffnet -

Gibst Du in der Konsole, Terminal einfach ein:

. Scriptdateiname.sh oder ./Scriptname.sh

Der Punkt führt Dich auf den Pfad wo Dein Scriptdateiname.sh abgespeichert ist. 

La

Vielen Dank für deine Antwort !

0

Was möchtest Du wissen?