Soy nuevo en el terminal e intento aprender a usarlo.
¿Qué hacen estas líneas? ¿Y cómo funcionan?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Soy nuevo en el terminal e intento aprender a usarlo.
¿Qué hacen estas líneas? ¿Y cómo funcionan?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Respuestas:
$ type echo
echo is a shell builtin
es decir, el echo
comando es parte del bash
programa en sí (suponiendo que use bash)
-n
es una opción, así que veamos qué hace
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Entonces cuando corremos la línea:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm, eso no se ve muy bien, porque no hay una nueva línea después del texto impreso. Volveremos a esto.
$ type date
date is /bin/date
ah, entonces el date
comando es un programa separado. ¿Qué hace?
$ man date
Display the current time in the given FORMAT, or set the system date.
Los caracteres después del date
comando son opciones de formato (que deben ir precedidas por +
): se especifican diferentes partes de la fecha (por ejemplo, %A
el nombre completo del día de la semana; consulte el resto man date
para ver la lista completa de opciones)
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Entonces, si juntamos los comandos en un script y luego ejecutamos el script, obtendremos
Today's date is: Tuesday, February 7, 2017
¡Agradable! Si desea el mismo efecto en un terminal, puede usar un punto y coma para separar los dos comandos en lugar de una nueva línea:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Debe comenzar con las páginas del manual, el comando man
. Simplemente escriba man <command>
para obtener información sobre a <command>
. La navegación man
no es muy intuitiva, pero hay muchas guías, por ejemplo https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .
Partes relevantes de man echo
y man date
:
echo [SHORT-OPTION]... [STRING]...
Echo the STRING(s) to standard output.
-n do not output the trailing newline
Por lo tanto, imprime la cadena y no pasa a la nueva línea después de eso (que es el comportamiento predeterminado), por lo que la salida del siguiente comando se imprimirá en el lado derecho de la cadena con eco.
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 esté claro. No dude en preguntar si no.
date
hace la fecha muestran en (interfaz de línea de comandos) terminal. Si desea algo más (como lo que sugiere Zanna), haga una nueva pregunta.
echo -n "Today's date is: "
Se imprimirá: la fecha de hoy es:
date +"%A, %B %-d, %Y"
Imprimirá algo como esto: martes 7 de febrero de 2017
Consejo :
use man
o --help
comando para saber más sobre cualquier otro comando.
p.ej :
man echo
echo --help
Pruebe estos desafíos Los desafíos son realmente buenos para ayudarlo a aprender a hacer cosas en la terminal.
$ man date && man echo
en el caparazón