GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstaluji skript pro spuštění kdekoli z příkazového řádku?

Návod na zpřístupnění python skriptu kdekoli:

Vytvořte python skript:

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

Zjistěte, kde se vaše krajta nachází:

which python
/usr/bin/python

Vložte tento kód:

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

Spusťte v něm stejný adresář:

python stuff.py

Přejděte o adresář nahoru a není dostupný:

cd ..
stuff.py

-bash: stuff.py: command not found

Nenalezeno! Je to tak, jak očekáváme, přidejte cestu k souboru python do $PATH

vi ~/.bashrc

Přidat soubor:

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

Uložte jej, znovu použijte soubor .bashrc a zkuste to znovu

source ~/.bashrc

Zkuste to znovu:

cd /home/el
stuff.py

Tisky:

hi

Trik je v tom, že bash shell zná jazyk souboru prostřednictvím shebang.


Stačí vytvořit ~/bin a vložte export PATH=$PATH:$HOME/bin ve vašem bashrc/profilu. Nezahrávejte si se systémem, ono to bude kousnout tě zpátky, věř mi.

Několik dalších věcí (relevantních pro otázku, ale nejsou součástí odpovědi):

  1. Na druhou stranu export PATH=$HOME/bin:$PATH NENÍ bezpečný, protože bash se podívá do vašeho ~/bin složku pro spustitelné soubory a pokud se jejich název shoduje s jinými spustitelnými soubory ve vašem původním $PATH budete překvapeni nečekaným/nefunkčním provedením příkazu.
  2. Nezapomeňte chmod+x když skript uložíte v ~/bin .
  3. Uvědomte si, co vkládáte do ~/bin Pokud právě něco testujete nebo pracujete na nedokončeném skriptu, je vždy lepší použít ./$SCRIPT_NAME z vašeho CWD skript spustit, než jej umístit pod ~/bin .

Nejlepší místo pro umístění takových věcí je /usr/local/bin .

Toto je normální místo pro umístění vlastních nainstalovaných binárních souborů a mělo by být na začátku vašeho PATH .

Jednoduše tam zkopírujte skript (pravděpodobně pomocí sudo ) a mělo by to fungovat každému uživateli.


Linux
  1. Jak restartovat Icewm z příkazového řádku?

  2. Jak spouštět skripty Pythonu ze shellu

  3. Jak mohu spustit funkci ze skriptu v příkazovém řádku?

  1. Jak nainstalovat software z příkazového řádku Linuxu

  2. Jak spustit příkaz Vim z shellu?

  3. Jak spustit TeX z rozhraní příkazového řádku v Linuxu

  1. Jak spouštět dotazy MySQL/MariaDB přímo z příkazového řádku Linuxu

  2. Jak nainstalovat aktualizace zabezpečení z příkazového řádku v Ubuntu

  3. Jak ztlumit z příkazového řádku?