GNU/Linux >> Znalost Linux >  >> Linux

Pokyny pro spouštění skriptů Shell pro nováčky

Otázka :Jaké jsou základní základní věci, které bych měl vědět, abych mohl spouštět skript Shell? Také, když spustím svůj shell skript, zobrazí se chybová zpráva „Povolení odepřeno“. Jak to napravím?

Odpověď :Pojďme si zopakovat 4 základní základní věci, které byste měli vědět o spouštění skriptu shellu.

1. Najděte spustitelný soubor shellu a zadejte jej jako she-bang #!

Identifikujte úplnou cestu, kde je shell nainstalován.

$ which sh
/bin/sh

(or)

$ which ksh
$ which bash

Jakmile určíte umístění spustitelného souboru shellu, zadejte jej jako shebang ( #! ) na prvním řádku souboru skriptu shellu.

$ vim helloworld.sh

#!/bin/sh
echo "Hello World!"

2. Přidělte oprávnění ke spuštění souboru skriptu prostředí

Pokud nemáte oprávnění ke spuštění skriptu, zobrazí se chybová zpráva „Oprávnění odepřeno“, jak je uvedeno níže.

$ ./helloworld.sh
bash: ./helloworld.sh: Permission denied

Přidělte souboru skriptu oprávnění ke spuštění pomocí příkazu chmod, jak je uvedeno níže.

$ chmod u+x helloworld.sh

Pokud chcete udělit oprávnění ke spuštění skupině a ostatním, udělejte to, jak je uvedeno níže.

$ chmod 755 helloworld.sh

Poznámka: Můžete to také provést jako automatický proces. tj. Kdykoli otevřete soubor skriptu shellu, obě požadované věci – přidání shebang a udělení oprávnění ke spuštění lze provést automaticky pomocí pluginu bash-support.vim. Další podrobnosti naleznete v našem dřívějším článku Udělejte z Vimu jako svého Bash-IDE pomocí pluginu podporující bash.

3. Spusťte skript zadáním absolutní nebo relativní cesty

Shell skript můžete spustit buď pomocí absolutní cesty nebo relativní cesty.

Spusťte skript zadáním absolutní cesty, jak je uvedeno níže.

$ /home/ramesh/scripts/helloworld.sh
Hello World!

Spuštění skriptu zadáním relativní cesty, jak je uvedeno níže.

$ cd /home/ramesh/

$ ./scripts/helloworld.sh
Hello World!

(or)

$ cd /home/ramesh/scripts

$ ./helloworld.sh
Hello World!

4. Spuštění skriptu stejně jako běžný příkaz Linux

Skript můžete také spustit bez zadání úplné cesty, absolutní cesty nebo relativní cesty. Chcete-li to provést, přidejte adresář, ve kterém je umístěn celý skript shellu, do proměnné prostředí PATH, jak je uvedeno níže.

Jakmile například přidám /home/ramesh/scripts do proměnné prostředí PATH, mohu skript spustit z libovolného adresáře.

$ export PATH=$PATH:/home/ramesh/scripts

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ramesh/scripts

$ cd /go/to/anydirectory

$ helloworld.sh
Hello World!

Linux
  1. Formát data a času pro skript nebo proměnnou prostředí Linux

  2. Bash skript:Použití příkazu script z bash skriptu pro protokolování relace

  3. Aktuální adresář skriptu Shell?

  1. Určit prostředí ve skriptu za běhu?

  2. Iterujte přes řádky místo slov ve smyčce for shell skriptu

  3. Spuštění pro smyčku z druhého prvku - skript Shell

  1. Potřebujete Shell pro Scp?

  2. konvence pojmenování pro shell skript a makefile

  3. Jak hledat soubory pomocí regulárního výrazu ve skriptu linuxového shellu