informatica:sol:laboratorio15:esercitazionia:bashscriptexamples
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
informatica:sol:laboratorio15:esercitazionia:bashscriptexamples [28/03/2015 alle 07:59 (10 anni fa)] – [removeblanklines.sh] Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:bashscriptexamples [16/03/2016 alle 11:22 (9 anni fa)] (versione attuale) – Massimo Torquati | ||
---|---|---|---|
Linea 12: | Linea 12: | ||
# Pluto --> PLUTO | # Pluto --> PLUTO | ||
- | # per ogni argomento | + | # per ogni argomento |
- | for f in $@; do | + | for f in $@; do |
# considero solo il nome e non eventuali path che lo precedono | # considero solo il nome e non eventuali path che lo precedono | ||
bname=`basename $f` | bname=`basename $f` | ||
Linea 49: | Linea 49: | ||
# se non ci sono argomenti stampo il messaggio di usage | # se non ci sono argomenti stampo il messaggio di usage | ||
- | if [ ! $# ]; then | + | if [ $# -eq 0 ]; then |
- | echo " | + | echo " |
exit -1 | exit -1 | ||
fi | fi | ||
Linea 57: | Linea 57: | ||
# controllo che sia un file regolare | # controllo che sia un file regolare | ||
if [ ! -f $file ]; then | if [ ! -f $file ]; then | ||
- | echo " | + | echo " |
exit 1 | exit 1 | ||
fi | fi | ||
# controllo che sia scrivibile | # controllo che sia scrivibile | ||
if [ ! -w $file ]; then | if [ ! -w $file ]; then | ||
- | echo " | + | echo " |
exit 2 | exit 2 | ||
fi | fi | ||
Linea 71: | Linea 71: | ||
$(sed -i '/ | $(sed -i '/ | ||
- | if [ ! $? ]; then | + | if [ $? -ne 0 ]; then |
- | echo " | + | echo " |
exit 3 | exit 3 | ||
fi | fi | ||
done | done | ||
</ | </ | ||
+ | |||
+ | ==== include.sh ==== | ||
+ | |||
+ | Realizzare uno script bash che preso come argomento un nome di file (il file può avere solo estensione " | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | # es. >$ include.sh prova.c | ||
+ | # Il file " | ||
+ | # Il file " | ||
+ | |||
+ | # se non ci sono argomenti stampo il messaggio di usage | ||
+ | if [ $# -eq 0 ]; then | ||
+ | echo " | ||
+ | exit -1 | ||
+ | fi | ||
+ | # controllo se il file in ingresso e' un file regolare | ||
+ | if [ ! -f $1 ]; then | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # controllo l' | ||
+ | r=$(echo $1 | grep " | ||
+ | if [ " | ||
+ | echo " | ||
+ | exit 2 | ||
+ | fi | ||
+ | # controllo l' | ||
+ | if [[ ! $1 =~ .*\.[ch] ]]; then | ||
+ | echo " | ||
+ | exit 2 | ||
+ | fi | ||
+ | |||
+ | # per ogni linea verifico se c' | ||
+ | while read line; do | ||
+ | if [[ $line =~ \ *#\ *include\ *\" | ||
+ | echo "Il file \" | ||
+ | else | ||
+ | if [[ $line =~ \ *#\ *include\ *\< | ||
+ | echo "Il file \" | ||
+ | fi | ||
+ | fi | ||
+ | done < $1 | ||
+ | </ | ||
==== spaziodisco.sh (un esempio più complesso) ==== | ==== spaziodisco.sh (un esempio più complesso) ==== | ||
Linea 93: | Linea 138: | ||
if [[ $# != 1 ]]; then | if [[ $# != 1 ]]; then | ||
- | echo " | + | echo " |
- | echo " | + | echo " |
exit 1 | exit 1 | ||
fi | fi | ||
if [ ! -d $1 ]; then | if [ ! -d $1 ]; then | ||
- | echo " | + | echo " |
exit 2 | exit 2 | ||
fi | fi | ||
if [ ! -r $1 ]; then | if [ ! -r $1 ]; then | ||
- | echo " | + | echo " |
exit 3 | exit 3 | ||
fi | fi |
informatica/sol/laboratorio15/esercitazionia/bashscriptexamples.1427529576.txt.gz · Ultima modifica: 28/03/2015 alle 07:59 (10 anni fa) da Massimo Torquati