staging.inyokaproject.org

Shellscript als alias

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

m.g.o.d

Anmeldungsdatum:
18. November 2019

Beiträge: 29

Hallo Zusammen,

ich habe ein Shellskript geschrieben, was ich gerne global als alias ausführen möchte. Es gibt also ein Ordner inkl. Skript: $HOME/Shellscripts/1_Eigene_Scripte/alias_script/aes_encryption.sh

was ich global durch den alias "aes" in jedem wpd, in dem ich mich gerade befinde, aufrufen möchte. Das mag noch nicht so recht gelingen.

Ich bin nach folgender Anleitung vorgegangen: https://wiki.ubuntuusers.de/alias/

und habe die Datei ~/.bash_aliases angelegt und mit dem Eintrag versehen:

1
alias aes= $HOME/Shellscripts/1_Eigene_Scripte/alias_script/./aes_encryption.sh

anschließend source ~./bashrc. Dann kommt immer folgende Fehlermeldung:

bash: alias: /home/marc/Shellscripts/1_Eigene_Scripte/alias_script/aes_encryption.sh: Nicht gefunden.

Ich habe auch geschrieben: 'aes_encryption' usw. aber das mag nicht funktionieren.

Irgend einen simplen Befehl wie ls -l |more oder sowas als alias zu hinterlegen sollte funktionieren. Aber geht das grundsätzlich auch mit einem Skript? Wenn nicht, gäbe es da einen anderen Weg um das zu erreichen?

Besten Dank für eure Hinweiße, VG Marc

Bearbeitet von rklm:

Codeblöcke. Bitte beachte Forum/Syntax und nutze die Vorschaufunktion!

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

m.g.o.d schrieb:

Ich bin nach folgender Anleitung vorgegangen: https://wiki.ubuntuusers.de/alias/

und habe die Datei ~/.bash_aliases angelegt und mit dem Eintrag versehen: alias aes= $HOME/Shellscripts/1_Eigene_Scripte/alias_script/./aes_encryption.sh

anschließend source ~./bashrc. Dann kommt immer folgende Fehlermeldung: bash: alias: /home/marc/Shellscripts/1_Eigene_Scripte/alias_script/aes_encryption.sh: Nicht gefunden.

Genau so, wie du es hier schreibst, ist es eben nicht nach der verlinkten Anleitung. Nach dem Gleichheitszeichen kommt kein Leerzeichen! Und das Kommando sollte in Hochkommata eingeschlossen sein, wenn es bspw. Leerzeichen als Trenner beinhaltet. Daher am Besten gleich angewöhnen.

Und was soll der Punkt? Ein Überbleibsel, weil das Kommando selbst aus dem Verzeichnis heraus nur mit vorangestellten ./ gestartet werden kann? Das kann bei der kompletten Pfadangabe weggelassen werden.

Aber geht das grundsätzlich auch mit einem Skript?

Ja.

Wenn nicht, gäbe es da einen anderen Weg um das zu erreichen?

Beantworte ich trotzdem. Du kannst deine Skripte unter ~/bin oder ~/.local/bin ablegen. Nach erneuter Anmeldung werden diese Verzeichnisse automatisch in die Umgebungsvariable PATH aufgenommen. Alternativ kannst du jedes andere Verzeichnis in PATH aufnehmen.

m.g.o.d

(Themenstarter)

Anmeldungsdatum:
18. November 2019

Beiträge: 29

fleet_street schrieb:

m.g.o.d schrieb:

Ich bin nach folgender Anleitung vorgegangen: https://wiki.ubuntuusers.de/alias/

und habe die Datei ~/.bash_aliases angelegt und mit dem Eintrag versehen: alias aes= $HOME/Shellscripts/1_Eigene_Scripte/alias_script/./aes_encryption.sh

anschließend source ~./bashrc. Dann kommt immer folgende Fehlermeldung: bash: alias: /home/marc/Shellscripts/1_Eigene_Scripte/alias_script/aes_encryption.sh: Nicht gefunden.

Genau so, wie du es hier schreibst, ist es eben nicht nach der verlinkten Anleitung. Nach dem Gleichheitszeichen kommt kein Leerzeichen! Und das Kommando sollte in Hochkommata eingeschlossen sein, wenn es bspw. Leerzeichen als Trenner beinhaltet. Daher am Besten gleich angewöhnen.

Und was soll der Punkt? Ein Überbleibsel, weil das Kommando selbst aus dem Verzeichnis heraus nur mit vorangestellten ./ gestartet werden kann? Das kann bei der kompletten Pfadangabe weggelassen werden.

Aber geht das grundsätzlich auch mit einem Skript?

Ja.

Wenn nicht, gäbe es da einen anderen Weg um das zu erreichen?

Beantworte ich trotzdem. Du kannst deine Skripte unter ~/bin oder ~/.local/bin ablegen. Nach erneuter Anmeldung werden diese Verzeichnisse automatisch in die Umgebungsvariable PATH aufgenommen. Alternativ kannst du jedes andere Verzeichnis in PATH aufnehmen.

Danke vielmals. Jetzt funktioniert es & ich hab wieder was neues gelernt ☺ VG

Antworten |