Eu sou novo no terminal e estou tentando aprender como usá-lo.
O que essas linhas fazem? E como eles funcionam?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Eu sou novo no terminal e estou tentando aprender como usá-lo.
O que essas linhas fazem? E como eles funcionam?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Respostas:
$ type echo
echo is a shell builtin
ou seja, o echo
comando faz parte do bash
próprio programa (supondo que você use o bash)
-n
é uma opção, então vamos ver o que ele faz
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Então, quando executamos a linha:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm, isso não parece muito bom, porque não há nova linha após o texto impresso. Voltaremos a isso.
$ type date
date is /bin/date
ah, então o date
comando é um programa separado. O que isso faz?
$ man date
Display the current time in the given FORMAT, or set the system date.
Os caracteres após o date
comando são opções de formato (que devem ser precedidos por +
) - partes diferentes da data são especificadas (por exemplo, %A
é o nome completo do dia da semana - consulte o restante man date
para obter a lista completa de opções)
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Portanto, se juntarmos os comandos em um script e executar o script, obteremos
Today's date is: Tuesday, February 7, 2017
Agradável! Se você deseja o mesmo efeito em um terminal, pode usar um ponto e vírgula para separar os dois comandos em vez de uma nova linha:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Você deve começar com páginas de manual, o comando man
. Basta digitar man <command>
para obter informações sobre a <command>
. A navegação man
não é muito intuitiva, mas existem muitos guias, por exemplo, https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .
Partes relevantes man echo
e man date
:
echo [SHORT-OPTION]... [STRING]...
Echo the STRING(s) to standard output.
-n do not output the trailing newline
Portanto, ele imprime a sequência e não segue para a nova linha (que é o comportamento padrão); portanto, a saída do próximo comando será impressa no lado direito da sequência repetida.
date [OPTION]... [+FORMAT]
FORMAT controls the output. Interpreted sequences are:
%A locale's full weekday name (e.g., Sunday)
%B locale's full month name (e.g., January)
%d day of month (e.g., 01)
%Y year
By default, date pads numeric fields with zeroes. The following optional flags may follow '%':
- (hyphen) do not pad the field
Espero que esteja claro. Sinta-se livre para perguntar se não.
date
faz show de data no terminal (interface de linha de comando). Se você quiser algo mais (como o que Zanna sugere), faça uma nova pergunta.
echo -n "Today's date is: "
Ele será impresso: a data de hoje é:
date +"%A, %B %-d, %Y"
Irá imprimir algo como isto: terça-feira, 7 de fevereiro de 2017
Conselho :
use man
ou --help
comando para saber mais sobre outros comandos.
por exemplo :
man echo
echo --help
Experimente estes desafios, os desafios são realmente bons para ajudá-lo a aprender a fazer as coisas no terminal.
$ man date && man echo
na concha.