GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit skript .sh z libovolné cesty v terminálu?

Musíte zkopírovat nebo propojit skript do adresáře, který je na $PATH. Obvykle /usr/bin a /usr/local/bin/ jsou na cestě, takže tato místa jsou vhodná pro propojení nebo zkopírování skriptu.

ln -s /path/to/your/script /usr/local/bin

Pokud nejste root, budete muset buď sudo tento příkaz nebo jej spusťte jako uživatel root.


Jednou z možností je jednoduše zadat cestu ke skriptu:

~/Desktop/script

Funguje to dobře, ale je to trochu nepraktické.

To je to, co PATH proměnná prostředí je pro. A to je to, co $HOME/bin je pro.

  1. Vytvořte si adresář $HOME/bin . Vložte do něj všechny své spustitelné skripty (udělejte je spustitelnými pomocí chmod +x script v případě potřeby). Tímto způsobem existuje jedno místo, kde můžete hledat skripty, které chcete spustit.
  2. Přidejte $HOME/bin na váš PATH . Dal jsem svůj na přední stranu:PATH="$HOME/bin:$PATH , ale pokud chcete, můžete jej umístit dozadu.
  3. Aktualizujte .profile nebo .bash_profile (nebo možná .bashrc ) soubor pro nastavení PATH . Dejte si však pozor na neustále rostoucí PATH.

Jak poznamenal tripleee, jakmile je příkaz nainstalován do adresáře na PATH , již nepíšete ./script , ale pouze script . Je to přesně tak, jak zadáte ls a ne /bin/ls , atd. Jakmile je program nainstalován do adresáře na vašem PATH , je (pro mnoho účelů) k nerozeznání od příkazu poskytovaného systémem.

V mém $HOME/bin mám asi 500 skriptů a programů adresář.

Všimněte si, že to nevyžaduje žádná zvláštní oprávnění. Pokud máte ke svému počítači přístup správce a myslíte si, že ostatní uživatelé by mohli považovat vaše příkazy za užitečné, můžete skripty/programy nainstalovat do jednoho z adresářů poskytovaných systémem na vašem PATH . Obvykle je však nejlepší nepřidávat programy do žádné z:

  • /bin
  • /usr/bin
  • /sbin
  • /usr/sbin

Často / obvykle je /usr/local/bin což je vhodné místo pro široce používané příkazy, které systém neposkytuje.

Bylo by lepší použít chmod a+x,go-w script; vaše skripty by neměly být zapisovatelné jinými lidmi. Můžete dokonce jednoduše použít chmod 555 script nebo chmod 755 script . Mám tendenci udržovat své skripty tak, aby se nedaly zapisovat. Tímto způsobem musím projít formálním procesem změn se systémem správy verzí. Znamená to menší nebezpečí nekontrolovaných změn.


Linux
  1. Jak spustit „find -exec {};?

  2. Linux – Jak spustit bootloader z Linuxu?

  3. Jak převést příkazy do libovolného terminálu?

  1. Jak spustit skript??

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

  3. Jak spustit skript shellu na konzole Unix nebo terminálu Mac?

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

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

  3. Jak vytvořit soubor v Linuxu z okna terminálu?