GNU/Linux >> Znalost Linux >  >> Linux

Přidejte bash skript do cesty

Zkuste toto:

  • Uložte skript jako apt-proxy (bez .sh extension) v nějakém adresáři, například ~/bin .
  • Přidejte ~/bin na váš PATH , zadáním export PATH=$PATH:~/bin
  • Pokud jej potřebujete trvale, přidejte tento poslední řádek do ~/.bashrc . Pokud používáte zsh a poté jej přidejte do ~/.zshrc místo toho.
  • Pak stačí spustit apt-proxy s vašimi argumenty a poběží kdekoli.

Všimněte si, že pokud export proměnná PATH v konkrétním okně, která se v jiných instancích bash neaktualizuje.


Chcete definovat tento adresář na proměnnou path, nikoli na skutečnou binární hodnotu, např.

PATH=$MYDIR:$PATH

kde MYDIR je definován jako adresář obsahující váš binární soubor, např.

PATH=/Users/username/bin:$PATH

Měli byste to vložit do spouštěcího skriptu, např. .bashrc tak, že se spustí pokaždé, když je vyvolán proces shellu.

Všimněte si, že pořadí je důležité a PATH je vyhodnocena tak, že pokud je skript odpovídající vašemu jménu nalezen v dřívější položce v proměnné path, pak je to ten, který spustíte. Takže můžete pojmenujte svůj skript jako apt-get a vložte jej dříve do cesty. Nedělal bych to, protože je to matoucí. Místo toho možná budete chtít prozkoumat aliasy shellu.

Všiml jsem si také, že říkáte, že to z vašeho aktuálního adresáře funguje dobře. Pokud tím myslíte, že máte v cestě aktuální adresář (. ), pak je to potenciální bezpečnostní riziko. Někdo by mohl dát nějakou trojskou variantu běžného nástroje (např. ls ) v adresáři a poté se dostanete na cd to tento adresář a nechtěně jej spusťte.


Linux
  1. Jak ladit Bash skript?

  2. Proč nemohu použít CD ve skriptu Bash?

  3. CD do neznámého adresáře na známé cestě?

  1. Jak přidat adresář do PATH v Linuxu [s příklady]

  2. Porovnávání vzorů skriptů Bash

  3. Mohu přidat zkratku pro nahrazení cesty v Linuxu?

  1. Jak přidat uživatele Unix/linux do skriptu Bash?

  2. Získat úplnou cestu ze skriptu Bash?

  3. Vytvoření nového adresáře v C