Befehl zur Bash hinzufügen

B

ByeBye 224935

Hallo zusammen.
Ich würde gerne einen Befehl zur Bash hinzufügen.
Klingt komsich, ist aba so.
Ich habe ein script mit dem namen "tree" und möchte es gerne durche infaches Namen-nennen öffnen können, unabhängig davon in welchem Verzeichnis ich mich befinde.

Ich habe schon viel gegooglet, aber immer wenn ich das, was dort stand angewandt/ausprobiert habe, hats nicht geklappt.
 
Hallo,

dafür musst du deine PATH Umgebungsvariable auf das Verzeichnis erweitern indem dein Skript liegt, wie unter Windows auch:

Bash:
export PATH=$PATH:/dir/to/your/binary

Oder du legst dein Skript in eines der Verzeichnisse ab welche Defaultmäßig bei dir im Path schon aufgenommen sind.
Welche das sind kannst du herausfinden wenn du dir den Inhalt von PATH anschaust:
Bash:
echo $PATH

Gruß,
RedWing
 
Der erste Ansatz ist nur die halbe Wahrheit ... auf diese Art würde das Verzeichnis nur temporär in die PATH-Variable kommen. Am besten suchst du dir ein Verzeichnis in das du alle deine persönlichen Bins, die nicht durch ein Paketmanagement installiert wurden packst. Etwa /home/deinBenutzer/bin (kurz ~/bin), legst dieses mittels

Code:
mkdir ~/bin

an und kopierst deine Binary hinein. Nun zur Path-Variable. Gebe folgende Komandos in deine Shell ein:

Code:
cd /etc/profile.d

sudo nano homebins.sh

In die nun von Nano erstellten Textdatei schreibst du folgendes:

Code:
#!/bin/sh

export PATH=$PATH:~/bin

Nun speicherst du indem du Strg + X zum beenden drückst und mit Yes/Ja bestätigst. Jetzt muss das erstellte Skript nur noch ausführbar gemacht werden mit dem Befehl:

Code:
sudo chmod +x homebins.sh

Beim nächsten Neustart wird dieses Skript nun automatisch ausgeführt sowie bei jedem weiteren Systemstart. Solltest du die Änderungen sofort anwenden wollen nutze den Befehl

Code:
source /etc/profile
 
@Raubkopierer
Warum so umstaendlich ueber ein eigenes Script, das doch immer wieder angepasst werden muss?

@Threadersteller

mit alias kann auch ein Aufruf mit einem Pseudonyom im Bashsinne belegt werden ... alias-Zuweisungen kommen am besten in die /etc/bashrc fuer globale Einstellungen oder ~/.bashrc fuer Userspezifische Einstellungen ...

Syntax:

alias neuer_Befehl='alter_Befehl' .... der neue_Befehl bezeichnet den neuen Aufrufnahmen ... alter_Befehl den entsprechenden Aufruf, wie er frueher mit allen Schaltern und Optionen aufgerufen wurde.
 
Da man so ein festes Verzeichnis im Path hat wo man alle eigenen Binaries hinschieben kann? Natürlich kann man für jede Binary alias 'path/to/file = name machen ... und muss dann jeden dieser Einträge dann wieder aus der bashrc entfernen. Oder aber man macht ein Skript, dass die Umgebungsvariable neu setzt. Ob man das nun in der Bashrc macht oder nicht ist ja egal. Nur wenn man die Shell wechselt müsste man wieder in deren Konfig-Datei die Befehle schreiben. So denke ich der 'umständliche Weg' ist in diesem Fall der effektivste ;)
 
Da man so ein festes Verzeichnis im Path hat wo man alle eigenen Binaries hinschieben kann? Natürlich kann man für jede Binary alias 'path/to/file = name machen ... und muss dann jeden dieser Einträge dann wieder aus der bashrc entfernen. Oder aber man macht ein Skript, dass die Umgebungsvariable neu setzt. Ob man das nun in der Bashrc macht oder nicht ist ja egal. Nur wenn man die Shell wechselt müsste man wieder in deren Konfig-Datei die Befehle schreiben. So denke ich der 'umständliche Weg' ist in diesem Fall der effektivste ;)

Die Shell wechselt? Ich zumindest bleibe eigentlich auf einem System immer bei einer Shell ... wenn de ne Subshell aufmachst wird ja weiter vererbt ... da isses also vollkommen wurst, vor allem da bei jeder Subshell die .bashrc ausgewertet wird.

Solange man also nicht dauernd zwischen bash, sh, ksh und/oder csh rumspringt reicht ein aendern der grundlegenden Configdatei.
 
und genau dieses Wechseln der Shell meinte ich. Nicht jeder ist mit Bash zufrieden und man sollte diese eventualität schon berücksichtigen.
 
mag sein, aber wer nutzt mehr als eine Shell auf einem OS? Fuer die anderen Shells gibts entsprechende Configdateien, und solang man nicht fuer jede Anwendung ne andere Shell nimmt, reicht es vom Aufwand her vollkommen, das zu Fuss per Editor einzutragen.
 
Zurück