Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Riassumendo

Con l'aggiunta di parametri posizionali, ora possiamo scrivere script piuttosto funzionali. Per compiti semplici e ripetitivi, i parametri posizionali consentono di scrivere funzioni shell molto utili che possono essere inserite nella shell dell'utente. .bashrc file.

pagina_info_sys Il programma è diventato sempre più complesso e sofisticato. Ecco un elenco completo, con evidenziate le modifiche più recenti:



#! / Bin / bash


# sys_info_page: programma per generare una pagina di informazioni di sistema


NOMEPROGRAMMA=$(nomebase $0)

TITLE="Rapporto sulle informazioni di sistema per $HOSTNAME" CURRENT_TIME=$(date +"%x %r %Z")

TIMESTAMP="Generato $CURRENT_TIME, da $USER"


report_uptime () { cat <<- _EOF_

Tempo di attività del sistema

$(tempo di attività)

Ritorno _EOF_

#! / Bin / bash


# sys_info_page: programma per generare una pagina di informazioni di sistema


NOMEPROGRAMMA=$(nomebase $0)

TITLE="Rapporto sulle informazioni di sistema per $HOSTNAME" CURRENT_TIME=$(date +"%x %r %Z")

TIMESTAMP="Generato $CURRENT_TIME, da $USER"


report_uptime () { cat <<- _EOF_

Tempo di attività del sistema

$(tempo di attività)

Ritorno _EOF_


}


report_disk_space () { cat <<- _EOF_

Utilizzo dello spazio su disco

$(df -h)

Ritorno _EOF_

}


segnala_spazio_domestico () {

se [[ $(id -u) -eq 0 ]]; allora cat <<- _EOF_

Utilizzo dello spazio domestico (tutti gli utenti)

$(du -sh /home/*)

_EOF_

altro

gatto <<- _EOF_

Utilizzo dello spazio domestico ($USER)

$(du -sh $HOME)

_EOF_

ritorno fi

}


utilizzo () {

echo "$PROGNAME: utilizzo: $PROGNAME [-f file | -i]" return

}


write_html_page () { cat <<- _EOF_

$TITLE

$TITLE

$TIMESTAMP

$(report_uptime)

$(report_disk_space)

$(report_home_space)

Ritorno _EOF_

}


# opzioni della riga di comando del processo

}


report_disk_space () { cat <<- _EOF_

Utilizzo dello spazio su disco

$(df -h)

Ritorno _EOF_

}


segnala_spazio_domestico () {

se [[ $(id -u) -eq 0 ]]; allora cat <<- _EOF_

Utilizzo dello spazio domestico (tutti gli utenti)

$(du -sh /home/*)

_EOF_

altro

gatto <<- _EOF_

Utilizzo dello spazio domestico ($USER)

$(du -sh $HOME)

_EOF_

ritorno fi

}


utilizzo () {

echo "$PROGNAME: utilizzo: $PROGNAME [-f file | -i]" return

}


write_html_page () { cat <<- _EOF_

$TITLE

$TITLE

$TIMESTAMP

$(report_uptime)

$(report_disk_space)

$(report_home_space)

Ritorno _EOF_

}


# opzioni della riga di comando del processo

Immagine

Riassumendo


interattivo=

nome file=


mentre [[ -n $1 ]]; esegui il case $1 in

-f | --file)

spostamento

nome file=$1

;;

interattivo=

nome file=


mentre [[ -n $1 ]]; esegui il case $1 in

-f | --file)


-i | --interattivo) interattivo=1

;;

-h | --help) utilizzo uscita

;;

*) utilizzo >&2

esci da 1

;;

spostamento esac

fatto


# modalità interattiva


se [[ -n $interattivo ]]; allora mentre vero; fai

leggi -p "Inserisci il nome del file di output: " nomefile se [[ -e $nomefile ]]; quindi

read -p "'$filename' esiste. Sovrascrivere? [y/n/q] > " case $REPLY in

Y|y) pausa

;;

Q|q) echo "Programma terminato." exit

;;

*) continua

;;

che C

elif [[ -z $filename ]]; quindi continua

altro

rompere

fi

fatto

fi


# pagina html di output


se [[ -n $filename ]]; allora

se tocchi $filename && [[ -f $filename ]]; allora scrivi_pagina_html > $filename

altro

-i | --interattivo) interattivo=1

;;

-h | --help) utilizzo uscita

;;

*) utilizzo >&2

esci da 1

;;

spostamento esac

fatto


# modalità interattiva


se [[ -n $interattivo ]]; allora mentre vero; fai

leggi -p "Inserisci il nome del file di output: " nomefile se [[ -e $nomefile ]]; quindi

read -p "'$filename' esiste. Sovrascrivere? [y/n/q] > " case $REPLY in

Y|y) pausa

;;

Q|q) echo "Programma terminato." exit

;;

*) continua

;;

che C

elif [[ -z $filename ]]; quindi continua

altro

rompere

fi

fatto

fi


# pagina html di output


se [[ -n $filename ]]; allora

se tocchi $filename && [[ -f $filename ]]; allora scrivi_pagina_html > $filename

altro


echo "$PROGNAME: Impossibile scrivere il file '$filename'" >&2 exit 1

per altro

scrivi_pagina_html

fi

echo "$PROGNAME: Impossibile scrivere il file '$filename'" >&2 exit 1

per altro

scrivi_pagina_html

fi


Non abbiamo ancora finito. Ci sono ancora molte cose che possiamo fare e miglioramenti che possiamo apportare.


Il miglior sistema operativo cloud computing su OnWorks: