GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie installiere ich ein Skript, das überall von der Befehlszeile aus ausgeführt werden kann?

Anleitung zur Bereitstellung eines Python-Skripts überall:

Erstellen Sie ein Python-Skript:

cd /home/el/bin
touch stuff.py
chmod +x stuff.py

Finden Sie heraus, wo sich Ihre Python befindet:

which python
/usr/bin/python

Fügen Sie diesen Code dort ein:

#!/usr/bin/python
print "hi"

Führen Sie darin dasselbe Verzeichnis aus:

python stuff.py

Gehen Sie in ein Verzeichnis und es ist nicht verfügbar:

cd ..
stuff.py

-bash: stuff.py: command not found

Nicht gefunden! Es ist wie erwartet, fügen Sie den Dateipfad der Python-Datei zum $PATH hinzu

vi ~/.bashrc

Datei hinzufügen:

export PATH=$PATH:/home/el/bin

Speichern Sie es, wenden Sie die .bashrc-Datei erneut an und versuchen Sie es erneut

source ~/.bashrc

Erneut versuchen:

cd /home/el
stuff.py

Drucke:

hi

Der Trick besteht darin, dass die Bash-Shell die Sprache der Datei über den Shebang kennt.


Erstellen Sie einfach ~/bin und geben Sie export PATH=$PATH:$HOME/bin ein in deinem bashrc/profil. Leg dich nicht mit dem System an, es wird Beiß dich zurück, vertrau mir.

Ein paar weitere Dinge (relevant für die Frage, aber nicht Teil der Antwort):

  1. Umgekehrt export PATH=$HOME/bin:$PATH ist NICHT sicher, denn bash wird in Ihre ~/bin schauen Ordner für ausführbare Dateien und ob ihr Name mit anderen ausführbaren Dateien in Ihrem ursprünglichen $PATH übereinstimmt Sie werden von der unerwarteten/nicht funktionierenden Befehlsausführung überrascht sein.
  2. Vergessen Sie nicht chmod+x wenn Sie Ihr Skript in ~/bin speichern .
  3. Achten Sie darauf, was Sie in Ihren ~/bin eingeben Wenn Sie nur etwas testen oder an einem unfertigen Skript arbeiten, ist es immer besser, ./$SCRIPT_NAME aus Ihrem CWD zu verwenden um das Skript auszuführen, als es unter ~/bin abzulegen .

Der beste Platz für solche Dinge ist /usr/local/bin .

Dies ist der normale Ort, an dem benutzerdefinierte installierte Binärdateien abgelegt werden, und sollte sich früh in Ihrem PATH befinden .

Kopieren Sie einfach das Skript dorthin (wahrscheinlich mit sudo ), und es sollte für jeden Benutzer funktionieren.


Linux
  1. Wie sende ich E-Mails von der Befehlszeile aus?

  2. Wie kann ich eine Funktion von einem Skript in der Befehlszeile ausführen?

  3. Wie kann ich PHP-Code von der Kommandozeile aus ausführen?

  4. Wie lösche ich den Inhalt einer Datei über die Befehlszeile?

  5. Wie erhalte ich meine IP-Adresse über die Befehlszeile?

So verwenden Sie Ranger zum Navigieren in Dateien von der Befehlszeile aus

So führen Sie ein Python-Skript in PHP aus

Googler – Führen Sie Google-Suchen über die Befehlszeile aus

Wie kann man von der Befehlszeile aus stummschalten?

So führen Sie Python-Skripte von der Shell aus

Wie installiere ich Google Chrome unter Ubuntu 18.04 über die Befehlszeile?