[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [www-it-traduzioni] Introduzione alla riga di comando [Sintassi Iniz
From: |
Marco C. |
Subject: |
Re: [www-it-traduzioni] Introduzione alla riga di comando [Sintassi Iniziale] |
Date: |
Sun, 15 May 2016 10:37:57 +0200 |
User-agent: |
Roundcube Webmail/1.0.6 |
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?
************************************************
Le sezioni di un comando
La prima parola che si digita in una riga di comando è il comando che si
vuole eseguire. Nella sezione 'Iniziamo' abbiamo visto una chiamata al
comando date , che ci ha risposto con la data e l'ora correnti.
Argomentazioni [argument]
Un altro comando che possiamo usare è echo, il quale mostra
l'informazione specificata al utente che la richiede. Questo comando non
è molto utile se non specifichiamo l'informazione da mostrare.
Fortunatamente, possiamo aggiungere più informazioni a un comando per
modificare il suo comportamento, questa informazione consiste di
argomenti [argument] . Il comando echo ripete solamente cosa gli
chiediamo:
$ echo foo
foo
In questo caso l'argomento [argument] era foo, ma non c'è bisogno di
limitare il numero di argomenti [argument] a uno. Ogni parola di testo
inserita, a parte la prima parola sarà considerata come un argomento
[argument] da passare al comando. Se vogliamo che echo risponda con
parole multiple, come per esempio foo bar wlg, possiamo dargli argomenti
[argument] multipli:
$ echo foo bar wlg
foo bar wlg
Gli argomenti [argument] sono normalmente separati da 'spazi bianchi'
(caratteri che appaiono bianchi sulla carta). Non importa quanti spazi
metti, basta che c'è ne sia almeno uno. Per esempio se scrivi:
$ echo foo bar
foo bar
con molti spazi fra i due argomenti [argument], gli spazi "extra" sono
ignorati, e l'output mostra i due argomenti [argument] separati da uno
spazio singolo. Per comunicare alla riga di comando che gli spazi sono
parte di un singolo argomento [single argument], dovete delimitare in
qualche modo quel argomento [argument]. Potete farlo citando [quoting]
l'intero contenuto di un argomento [argument] fra virgolette ("):
$ echo "foo bar"
foo bar
Come vedremo dopo, c'è più di un modo per citare il testo, e quei modi
potrebbero (o non potrebbero) differenziarsi nei risultati, a seconda
del contenuto del testo citato/quotato.
Opzioni
Rivisitiamo il comando date , supponete che vogliate l'informazione
data/tempo come informazione UTC. Per ottenere questo, il comando date
provvede l'opzione --utc . Notate bene i due trattini iniziali. Questi
indicano argomenti [argument] che un comando controlla quando inizia e
che controllano il comportamento del comando. Il comando date cerca
l'opzione --utc e dice, "OK, so che state chiedendo il tempo in formato
UTC". Questo è diverso da argomenti [argument] che abbiamo inventato,
come quando abbiamo chiamato echo con gli argomenti [argument] foo bar
wlg.
A parte i trattini che precedono la parola, --utc è usato proprio come
un argomento [argument]:
$ date --utc
Thu Mar 24 18:12:44 UTC 2016
Di solito potete comprimere queste opzioni a un valore più corto 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 più lunghe sono più
facili da leggere (usatele negli scripts).
Ora guardiamo la data di ieri invece di quella di oggi. Per fare questo
dobbiamo specificare l'argomento [argument] --date (o in breve -d),
che chiede un altro argomento [argument]. L'argomento [argument] 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 [argument], potete combinare
opzioni insieme 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 [argument] (-d, --date) e altre che non se lo aspettano
(-u, --utc). Passare degli argomenti un pò più complessi al comando
--date permette di avere delle informazioni interessanti, per esempio se
quest'anno è un anno bisestile (nel quale l'ultimo giorno di febbraio è
il 29). Per saperlo dovete sapere 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 essere utile sapere il giorno della settimana di una certa
data, per esempio il capodanno del 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 del anno, e poi un argomento speciale
(che è specifico al comando date). I comandi a volte hanno degli strani
esoterici argomenti [argument]... Il comando date può accettare
argomenti format che iniziano con un più (+). Il format %A chiede di
visualizzare [print] il giorno della settimana di una certa data (mentre
%a avrebbe chiesto di visualizzare [print] il giorno della settimana
abbreviato: provate!). Per il momento non preoccupatevi di questi
dettagli ermetici: vedremo come ottenere aiuto dalla rigavdi comando
imparando i dettagli dei comandi. Intanto, diamo un morsetto a 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
Usate la freccia verso l'alto per recuperare un comando che avete
inizializzato prima. Potete muovervi su e giù usando i tasti freccia per
selezionare comandi già usati. La freccia a destra e la freccia a
sinistra permettono di muoversi dentro un singolo comando. Insieme con
il tasto Backspace, permettono di cambiare parti del comando e
trasformarlo in un nuovo comando. Ogni volta che premete il tasto Enter,
inviate il comando modificato al terminale ed esso gira esattamente
come se lo aveste digitato da zero.
************************************************
Ciao a tutti e buona domenica
Marco Calegaro