www-it-traduzioni
[Top][All Lists]
Advanced

[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: Wed, 31 Aug 2016 10:53:21 +0200
User-agent: Roundcube Webmail/1.0.6

Ho corretto usando la frase di Francesco:
Riprendiamo il comando date, e supponiamo di voler effettivamente
ottenere data e ora UTC (tempo universale).
Grazie
*******************************
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.

Argomentazioni

Un altro comando che possiamo usare è echo, che visualizza una determinata informazione all'utente che la richiede, ma è utile solo se 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 ce 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 quotare il testo e le varie forme potrebbero (o non potrebbero) differenziarsi nei risultati a seconda del contenuto del testo quotato.
Opzioni

Riprendiamo il comando date, e supponiamo di voler effettivamente ottenere data e ora UTC (tempo universale). 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 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 --date (o 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 sono seguite da un argomento (-d, --date) e altre che non lo sono (-u, --utc). Passare degli argomenti un pò 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 e viene eseguito come se fosse stato digitato da zero.
*******************************
Il 29-08-2016 18:06 Francesco Potortì ha scritto:
Marco C.:
l'ho modificata cosi` :
"supponiamo di voler ricevere le informazioni in base al tempo
universale (UTC)"
va bene adesso?

Come scrivevo nella mail precedente, secondo me si può far di meglio:

Revisiting the date command, suppose you actually wanted the UTC
date/time information displayed.

====
Riprendiamo il comando date, e supponiamo di voler effettivamente
ottenere data e ora UTC (tempo universale).
====

La parentesi serve solo se prima non si è paralto di cosa è UTC,
altrimenti va omessa.

La parola effettivamente va messa solo se ha senso nel contesto,
altrimenti va omessa.


Primo, "ricevere le informazioni" non mi pare adatto: stai guardando
l'uscita di un comando, non c'è un canale di comunicazione attravero il
quale passano informazioni

Secondo, "in base al tempo universale" dovrebbe essere invece "secondo
il tempo universale" o qualcosa del genere, ma la mia versione è molto
più succinta e mi pare che dia la stessa informaizone.


--
http://savannah.gnu.org/projects/www-it/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]