11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Appen<strong>di</strong>ce M. Esercizi<br />

Devono essere utilizzati i coman<strong>di</strong> du e mail. Come opzione, si dovrà poter impostare e controllare<br />

le quote usando i coman<strong>di</strong> quota e setquota.<br />

Informazioni sugli utenti connessi<br />

Cancellazione sicura<br />

Scambiare sol<strong>di</strong><br />

Equazioni quadratiche<br />

Per ogni utente connesso, si visualizzi il suo vero nome e la data e l’ora sel suo ultimo login.<br />

Suggerimento: si usino who, lastlog, e si verifichi /etc/passwd.<br />

Si scriva, in forma <strong>di</strong> script, il comando per la cancellazione <strong>di</strong> “sicurezza” srm.sh. I file, passati<br />

allo script come argomenti da riga <strong>di</strong> comando, non verranno cancellati, ma, se non già compressi,<br />

dovranno esserlo tramite gzip (per la verifica si usi file), e quin<strong>di</strong> spostati nella <strong>di</strong>rectory<br />

/home/nomeutente/trash. Al momento dell’invocazione, lo script controllerà nella <strong>di</strong>rectory<br />

“trash” i file in essa presenti da più <strong>di</strong> 48 ore e li cancellerà.<br />

Qual’è la via più efficiente per scambiare $ 1.68, usando il minor numero <strong>di</strong> monete correntemente<br />

in circolazione (fino a 25 cents)? 6 quarti <strong>di</strong> dollaro, 1 <strong>di</strong>me (moneta da <strong>di</strong>eci centesimi <strong>di</strong> dollaro),<br />

un nickel (moneta da 5 centesimi) e tre monete da un centesimo.<br />

Dato come input, da riga <strong>di</strong> comando, un importo arbitrario espresso in dollari e centesimi ($*.??),<br />

si calcoli come scambiarlo utilizzando il minor numero <strong>di</strong> monete. Se il vostro paese non sono gli<br />

Stati Uniti, si può utilizzare la valuta locale. Lo script dovrà verificare l’input e, quin<strong>di</strong>, trasformarlo<br />

in multipli dell’unità monetaria più piccola (centesimi o altro). Suggerimento: si <strong>di</strong>a un’occhiata a<br />

Esempio 23-8.<br />

Si risolva un’equazione “quadratica” nella forma Ax^2 + Bx + C = 0. Lo script dovrà avere come<br />

argomenti i coefficienti A, B e C, e restituire il risultato con quattro cifre decimali.<br />

Suggerimento: si colleghino i coefficienti, con una pipe, a bc, utilizzando la ben nota formula x = (<br />

-B +/- sqrt( B^2 - 4AC ) ) / 2A.<br />

Somma <strong>di</strong> numeri <strong>di</strong> corrispondenza<br />

Si calcoli la somma <strong>di</strong> tutti i numeri <strong>di</strong> cinque cifre (compresi nell’intervallo 10000 - 99999) che<br />

contengono esattamente due, e solo due, cifre della serie seguente: { 4, 5, 6 }. All’interno dello<br />

stesso numero, queste possono ripetersi, nel qual caso la stessa cifra non può apparire più <strong>di</strong> due<br />

volte.<br />

814

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!