GNU/Linux >> Tutoriales Linux >  >> Linux

¿Pasar argumentos de línea de comando a Bash Script?

Soy nuevo en la programación de guiones bash.

Quiero implementar un script bash 'deploymLog', que acepta como entrada un argumento de cadena (nombre).

[[email protected] 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.txt en el directorio actual en el siguiente formato:

[name]=[System time timestamp1]

¿Cómo es posible?

Respuesta aceptada:

$> cat ./deploymLog.sh 
#!/bin/bash

name=$1
log_file="Logone.txt"

if [[ -n "$name" ]]; then
    echo "$1=$( date +%s )" >> ${log_file}
else
    echo "argument error"
fi

El primer argumento de una línea de comando se puede encontrar con el parámetro posicional $1 . [[ -n "$name" ]] pruebas para ver si $name no está vacío. date +%s devuelve la marca de tiempo actual en tiempo Unix. El >> El operador se utiliza para escribir en un archivo agregando los datos existentes en el archivo.

$> ./deploymLog.sh tt

$> cat Logone.txt 
tt=1329810941

$> ./deploymLog.sh rr

$> cat Logone.txt 
tt=1329810941
rr=1329810953

Para obtener una marca de tiempo más legible, puede jugar con date argumentos.


Linux
  1. Códigos de salida de la línea de comandos de Bash desmitificados

  2. 6 Ejemplos de argumentos de línea de comando de secuencia de comandos esperada

  3. ¿Cómo pasar parámetros a un script Bash?

  4. Cómo pasar un argumento en Expect a través de la línea de comando en un script de shell

  5. Argumentos de la línea de comando para ejecutar la ventana acoplable

Comando de suspensión de Linux (Pausar un script Bash)

Bash Beginner Series #3:Pasando Argumentos a Bash Scripts

¿Cómo leer argumentos de línea de comando en scripts de Shell?

¿Cómo paso un argumento de línea de comando al iniciar GDB en Linux?

¿Cómo pasar argumentos a un script invocado por el comando fuente?

Ejecute el comando bash en la canalización de jenkins