Soy nuevo en la programación de script bash.
Quiero implementar un script bash 'deploymLog', que acepta como entrada un argumento de cadena (nombre).
[root@localhost Desktop]# ./deploymLog.sh name
aquí quiero pasar el argumento de cadena (nombre) a través de la línea de comando
Como paso inicial, necesito agregar la marca de tiempo actual junto con esta cadena de entrada a un archivo de registro, digamos Logone.txten el directorio actual en el siguiente formato:
[name]=[System time timestamp1]
¿Como es posible?

[[ -n "$name" ]]está haciendo la parte.Se puede acceder a los argumentos de la línea de comandos de Shell a través de
$1(el primero),$n(el enésimo) o$*(todos los argumentos), por lo que su script debe comenzar:Ahora se puede acceder al argumento de nombre desde el script como
$name.Para obtener la marca de tiempo, use el
date(1)comando y asígnele un especificador de formato para que produzca el formato que desea:Ahora
$nowcontiene la fecha y hora actuales.Para que pueda crear su archivo de registro así:
Es mejor usar una función de shell para registrar sus mensajes, ya que será más fácil de usar:
Tenga en cuenta que las funciones de shell acceden a sus propios argumentos de la misma manera que el script (a través de
$1etc.)Entonces el guión inicial se ve así:
(tenga en cuenta que el archivo de registro no está en el formato exacto que especificó; está en uno mejor con la marca de tiempo al comienzo de cada línea).
fuente
ejecute "bash deploymLog.sh whatever", y obtendrá x.log con
fuente
name=$1. La variable $ name nunca se usa, ya que solo genera la cadena 'nombre' literalmente.name="$1"