Gli script shell forniscono un metodo facile per eseguire comandi o sequenze di comandi complicati e attività di routine. Uno script shell è un file che contiene uno o più comandi. Quando viene digitato un nome di un file script shell, il sistema esegue la sequenza di comandi contenuta dal file.
E' possibile creare uno script shell utilizzando un editor di testo. Lo script può contenere i comandi del sistema operativo ed i comandi incorporati shell.
I passi seguenti sono indicazioni generali per la scrittura di script shell:
Nota: Il sistema operativo non supporta le sottoroutine setuid o setgid all'interno di uno script shell.
chmod u=rwx script1
Premere Invio.
script1
Premere Invio.
Nota: E' possibile eseguire uno script shell senza renderlo eseguibile se un comando shell (ksh, bsh, o csh) precede il nome file dello script shell sulla riga comandi. Ad esempio, per eseguire un file non eseguibile chiamato script1 sotto il controllo di una shell Korn, immettere:ksh script1
La shell Korn o quella POSIX consente di eseguire uno o più comandi come processi di sfondo. Questi comandi, eseguiti da uno script shell, vengono chiamati coprocessi.
Designare un coprocesso mettendo l'operatore |& dopo un comando. E' stato eseguito il pipe dell'emissione e dell'immissione standard nello script.
E' necessario che un coprocessore rispetti le seguenti restrizioni:
L'esempio seguente dimostra come viene approvata l'immissione e restituita da un coprocesso:
echo "Initial process" ./FileB.sh |& read -p a b c d echo "Read from coprocess: $a $b $c $d" print -p "Passed to the coprocess" read -p a b c d echo "Passed back from coprocess: $a $b $c $d"
FileB.sh echo "The coprocess is running" read a b c d echo $a $b $c $d
L'emissione standard che ne risulta è la seguente:
Initial process Read from coprocess: The coprocess is running Passed back from coprocess: Passed to the coprocess
Per scrivere al coprocess, utilizzare il comando print -p. Per leggere dal coprocess, utilizzare il comando read -p.
E' possibile eseguire uno script shell in una shell specifica includendo la shell in uno script shell.
Per eseguire uno script shell eseguibile al di sotto di una shell specifica, immettere #!Path sulla prima riga dello script shell e premere Invio. I caratteri #! identificano il tipo di file. La variabile Path specifica il nome del percorso della shell dalla quale eseguire lo script shell.
Ad esempio, per eseguire lo script bsh nella shell Bourne, immettere:
#!/usr/bin/bsh
Premere Invio.