Erstellen Sie einen Befehl für eine ausführbare Linux-Datei


8

Ich verwende ein Programm namens Node-Webkit, kann das Programm jedoch nicht starten, ohne den vollständigen Pfad zur ausführbaren Datei anzugeben. Gibt es eine Möglichkeit, einen Befehl (z. B. node-webkit) einer ausführbaren Datei unter Linux zuzuordnen, sodass nicht der vollständige Pfad zur Datei angegeben werden muss?

Antworten:


5

Eine dritte Option, die möglicherweise am wenigsten aufdringlich ist, besteht darin, Ihrer Datei einen Alias hinzuzufügen .bashrc. Diese Datei besteht aus einer Reihe von Optionen, bashdie bei jedem bashStart einer Instanz von gelesen werden .

  • Öffnen Sie Ihre .bashrcDatei mit Ihrem Datei-Editor, zgedit ~/.bashrc

  • Fügen Sie die folgende Zeile am Ende Ihrer .bashrcDatei hinzu
    alias node-webkit=/path/to/node-webkit

  • Tun Sie source ~/.bashrcdies, um den Alias ​​wie einen Befehl verwenden zu können.

Dies funktioniert wie #definein C / C ++. Wenn Sie eingeben node-webkit, wird es durch die rechte Seite der aliasDefinition ersetzt, die hier den vollständigen Pfad zur ausführbaren Datei darstellt.


.bashrcwird nicht immer gelesen, wenn bash ausgeführt wird, es wird nur von a.) interaktiven Shells und b.) nicht angemeldeten Shells gelesen. .bashrcsollte bezogen werden .bash_profile, um letztere zu umgehen .
Chris Down

9

Damit die Binärdatei nur mit ihrem Namen ausgeführt werden kann, muss sich das Verzeichnis mit der Binärdatei in einem der von Ihrer PATHUmgebungsvariablen angegebenen Verzeichnisse befinden . Sie können das Verzeichnis, in dem sich die Binärdatei derzeit befindet, wie folgt zu Ihrem PATH hinzufügen:

export PATH="/new/path:$PATH"

Sie können dies beispielsweise in ein Initialisierungsskript für Ihre Shell ~/.bashrceinfügen. Wenn es sich um einen einzelnen Befehl handelt, verknüpfe ich die Binärdatei normalerweise mit der Position, die sich bereits in meinem PATH befindet.

ln -s /path/to/node-webkit /usr/local/bin

3

Sicher ... symbolische Links. Der Befehl lautet "ln".

me@computer:~> echo $PATH
/usr/lib/mpi/gcc/openmpi/bin:/opt/lsb-tet3-lite/bin:/opt/lsb/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

Dies ist Ihre Pfadvariable. Angenommen, Sie haben Root-Rechte. Das Erstellen eines Symlinks in / usr / bin ist sinnvoll:

cd /usr/bin
ln -s /path/to/your/program/node-webkit node-webkit

2
Dies beantwortet die Frage nicht wirklich. zB - Symlink wo?
Jordanm

Jeder Ort, der sich bereits auf Ihrem Weg befindet. Ich nahm an, Sie möchten Ihre Pfadvariable nicht ändern.
sme
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.