GNU/Linux >> Linux Esercitazione >  >> Linux

Passare gli argomenti della riga di comando allo script Bash?

Sono nuovo nella programmazione di script bash.

Voglio implementare uno script bash 'deploymLog', che accetta come input un argomento stringa (nome).

[[email protected] Desktop]# ./deploymLog.sh name

qui voglio passare l'argomento della stringa (nome) tramite la riga di comando

Come passaggio iniziale, devo aggiungere il timestamp corrente insieme a questa stringa di input a un file di registro, ad esempio Logone.txt nella directory corrente nel formato seguente:

[name]=[System time timestamp1]

Com'è possibile?

Risposta accettata:

$> 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

Il primo argomento da una riga di comando può essere trovato con il parametro posizionale $1 . [[ -n "$name" ]] verifica se $name non è vuoto. date +%s restituisce il timestamp corrente nell'ora Unix. Il >> operatore viene utilizzato per scrivere su un file aggiungendo i dati esistenti nel file.

$> ./deploymLog.sh tt

$> cat Logone.txt 
tt=1329810941

$> ./deploymLog.sh rr

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

Per un timestamp più leggibile puoi giocare con date argomenti.


Linux
  1. Bash Echo La riga di comando eseguita sulla riga di comando stessa (non in uno script)?

  2. Come passare i parametri a uno script Bash?

  3. Leggi riga per riga nello script bash

  4. Conserva le virgolette negli argomenti di bash

  5. Come posso passare un argomento della riga di comando durante l'avvio di GDB in Linux?

Comando di sospensione di Linux (pausa di uno script Bash)

Codici di uscita della riga di comando di Bash demistificati

Come passare un argomento della riga di comando in uno script di shell?

Bash Beginner Series #3:Passare argomenti agli script Bash

Come leggere gli argomenti della riga di comando negli script della shell?

Bash se su una sola riga