Home > Linux > Linux Scripting regole ed esempi

Linux Scripting regole ed esempi

I files di script consentono di eseguire una serie prestabilità  di comandi in successione svolgendo azioni in modo estremanente efficace ie potente di seguito le regole base. Di seguito un promemoria dei comandi e delle regole. Gli esempi  sono testati nella shell bash.

Indice dei comandi  :

  • #  commento; trasforma la riga in un commento
  • $ per utilizzare e rappresentare  input o parametri forniti allo script
    • $1,$2, ..   per utilizzare parametri $1 primo parametro passato, $2 secondo ,,,
    • $#  numero di parametri utilizzati
    • $0 nome dello script ( comando usato per lanciare lo script )
  • $@  visualizza tutti gli input ( 1-end) separati da uno spazio
  • $? ritorna il valore dell’ultimo comando
  • vrb=   assegna valore alla variabile abc
  • $vrb ricerca il valore della variabile vabc

es:
foo.sh

#! /bin/bash
  $vrb='127.0.0.1' 
  echo $# $@ $vrb
# end
./foo.sh  num ip
2 num ip 127.0.0.1
  • ‘zyxv     per rappresentare una stringa
      • ‘a$1’  risultato  a$1
  • abc  double-quotes  per gestire le $-rules, altrimenti rappresenta una stringa.   “a$1”
  • `abc`   ( back-tic [upper-left]) Esegue comando  come $(vrb)
  • $(vrb) esegue il comando vrb.

es:
foo.sh

#! /bin/bash
  echo 'comando $1' ; "comando $1" ; echo ; ("$1")
# end
./foo.sh  ls
comando $1
comando ls

foo.sh
  • $($vrb) ricerca il valore di vrb e lo esegue come comando.
  • ${vrb}  {} sono parentesi opzionali necessarie per i parametri successivi al 9 (${10}).
  •  ${vrb:3:4} substring. Sottostriga di vrb con inizio dalla terza posizione e con lunghezza di 4 caratteri.
  • $((7-2))  per compiere operazioni matematiche
  • [ ] Short cut for test

es:
foo.sh

#! /bin/bash
  if [ "$#" = "0" ]
     then
         echo 'nessun argomento exit"
     exit 1
  fi
# end
./foo.sh  
nessun argomento exit
  • if  test
    then
    …..
    else
    …..
    fi

es:
foo.sh

#! /bin/bash
  if test -f foo.sh 
    then   
       echo "file trovato"
  fi
# end
./foo.sh 
file trovato
  • for a in this that other
    do
    ….
    done

es:
dumpdb.sh

#! /bin/bash
  dblist=$( psql -l | grep \| | gep -v Owner | awk '{print $1}' ) 

  for db in $( echo $dblist ) 
  do 
      pg_dump $db > $db.sql
      logger "dumped db "$db
  done 
   # end
  • while test …

 do
….
done

  • read a legge l’input della tastiera ponendolo nella variabile a
  • -ge   >=
  • -lt  >

Risorse:

Annunci
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: