Il 05/08/2016 18:09, Marco C. ha scritto:
Ciao a tutti, questo e` il quarto capito del libro, io ho lasciato
fra parentesi quadre il termine in inglese, va bene far cosi`, lo
mettiamo solo la prima volta o li togliamo tutti?
Ciao,
sotto trovi la revisione. Secondo me i termini inglese sono tutti da
tradurre, a meno che non siano termini inglesi usati anche in italia
(ad es. "chat"). Non ha senso lasciare la doppia versione, inglese e
italiana, nel testo perchè diventa assolutamente illeggibile, così
come non avrebbe senso lasciare tutti i termini non tradotti come
"argument" invece di "argomento".
Però vediamo se altri nella lista la pensano come me o meno.
Buona giornata!
Enrico
-------------------------------
Le sezioni di un
comando
La prima parola che deve essere digitata nella
riga di comando è il comando che si vuole eseguire. Nella sezione
'Iniziamo' abbiamo visto una chiamata al comando date, che ci ha
restituito la data e l'ora correnti.
Argomenti
Un
altro comando che possiamo usare è echo che visualizza una
determinata informazione all’utente che la richiede, ma è utile
solo se non si specifica l'informazione da mostrare.
Fortunatamente è
possibile aggiungere più informazioni a un certo comando per
modificarne il comportamento, queste informazioni sono dette
argomenti. Il comando echo, come accennato, ripete solamente ciò
che
viene inserito dopo il comando stesso:
$ echo foo
foo
In questo caso l'argomento era foo, ma non c'è bisogno
di limitare il numero di argomenti a uno. Ogni parola di testo
inserita, a parte la prima parola che è il comando stesso, sarà
considerata come un argomento da passare al comando. Se si vuole
che
echo risponda con parole multiple, come per esempio foo bar wlg, è
possibile passare argomenti multipli:
$ echo foo bar wlg
foo bar wlg
Gli argomenti sono normalmente separati
da 'spazi bianchi' (caratteri che appaiono bianchi sulla carta).
Non
importa quanti spazi si mettono, basta che c'è ne sia almeno uno.
Per esempio, scrivendo:
$ echo foo
bar
foo bar
con molti spazi fra i due argomenti,
gli spazi "extra" vengono ignorati e l'output mostra i due
argomenti separati da uno spazio singolo. Per comunicare alla riga
di
comando che gli spazi sono parte di un singolo argomento è
necessario delimitare fra virgolette (“) quell’argomento:
$
echo "foo
bar"
foo
bar
Come vedremo più
avanti, c'è più di un modo per citare il testo e le varie forme
potrebbero (o non potrebbero) differenziarsi nei risultati a
seconda
del contenuto del testo citato/quotato.
Opzioni
Ritornando al comando date, supponiamo di voler ricevere
la data e l’ora come informazione UTC. Per ottenere questo
risultato il comando date prevede l'opzione --utc. Notate bene i
due
trattini iniziali. Questi indicano argomenti che un comando
controlla
quando si avvia e determinano il comportamento del comando stesso.
Il
comando date cerca l'opzione --utc e dice, "OK, so che state
chiedendo il tempo in formato UTC". Questo argomento è diverso
da argomenti inventati, come “ foo bar wlg” richiamato negli
argomenti del comando echo.
A parte i trattini che
precedono la parola, --utc è usato proprio come un argomento:
$
date --utc
Thu Mar 24 18:12:44 UTC 2016
Di solito è
possibile comprimere queste opzioni in una forma breve come, per
esempio, date -u (la versione corta solitamente ha un solo
trattino).
Le opzioni corte sono più veloci da scrivere (usatele quando state
scrivendo nella shell), mentre le opzioni lunghe sono più facili
da
leggere (usatele negli script).
Ora guardiamo la data di
ieri invece di quella di oggi. Per fare questo dobbiamo
specificare
l'argomento --date (in breve -d) che chiede a sua volta un altro
argomento. L'argomento per un’opzione è semplicemente la parola
che segue quell'opzione. In questo caso il comando sarebbe date
--date yesterday.
Visto che le opzioni sono solo
argomenti è possibile combinare due o più opzioni per creare
comportamenti più sofisticati. Per esempio, per combinare le due
opzioni precedenti e avere la data di ieri in formato UTC si
scrive:
$ date --date yesterday -u
Wed Mar 23
18:16:58 UTC 2016
Come potete notare, ci sono opzioni che
si aspettano di essere seguite da un argomento (-d, --date) e
altre
che non se lo aspettano (-u, --utc). Passare degli argomenti un
po’
più complessi al comando --date permette di ottenere informazioni
interessanti, come sapere se l’anno in corso è bisestile (l'ultimo
giorno di febbraio è il 29). E’ possibile scoprirlo chiedendo al
comando quale giorno precede il primo di marzo:
$ date
--date "1march yesterday" -u
Mon Feb 29 00:00:00 UTC
2016
La domanda che avete fatto a date è: se oggi è il
primo marzo dell'anno corrente, che data sarebbe ieri? Quindi, si,
il
2016 è bisestile. Potrebbe anche essere utile sapere il giorno
della
settimana di una certa data, per esempio l’ultimo dell’anno 2016:
$ date -d 31dec +%A
Saturday
che è lo
stesso di:
$ date --date 31december2016 +%A
Saturday
In questo caso abbiamo passato al comando date l'opzione
-d (--date) seguita dalla data dell'ultimo dell’anno, e poi un
argomento speciale specifico del comando date. I comandi a volte
hanno degli argomenti strani ed esoterici... Il comando date può
accettare argomenti format che iniziano con un più (+). Il format
%A
chiede di visualizzare il giorno della settimana di una certa data
(mentre %a avrebbe chiesto di visualizzare il giorno della
settimana
abbreviato: provate!). Per il momento non è necessario
preoccuparsi
di questi dettagli: vedremo come ottenere aiuto dalla riga di
comando
imparando i dettagli dei comandi. Intanto, assaggiamo qualcosa di
sfizioso combinando i comandi echo e date:
$ echo "This
New Year's Eve falls on a $( date -d 31dec +%A )"
This New
Year's Eve falls on a Saturday
Ripetere e modificare i
comandi
E’ possibile usare la freccia verso l'alto per
recuperare un comando già utilizzato in precedenza e, in generale,
si usano le frecce direzionali per visualizzare i vari comandi già
usati (su e giù) e per muoversi dentro un singolo comando (destra
e
sinistra). Usando le frecce assieme al tasto Backspace, è
possibile
cambiare parti del comando e trasformarlo in un nuovo comando.
Ogni
volta che si preme il tasto Enter, il comando modificato viene
inviato al terminale ed gira esattamente come se fosse stato
digitato
da zero.
|