Come leggere gli argomenti della riga di comando in una presa

Come leggere gli argomenti della riga di comando in una presa

Quando si lavora con Bash Scripting, è possibile incontrare situazioni in cui è necessario passare argomenti allo script tramite la riga di comando. In questo articolo, esploreremo i diversi modi per leggere gli argomenti della riga di comando in Bash e fornire esempi di ciascun metodo.

Quali sono gli argomenti della riga di comando in bash

Gli argomenti della riga di comando in bash sono i parametri che vengono passati a uno script o comando bash quando viene eseguito dalla riga di comando. Sono usati per personalizzare il comportamento dello script o del comando e possono includere opzioni, flag o valori utilizzati dallo script o comando per eseguire attività specifiche.

Come leggere gli argomenti della riga di comando in una presa

Per modificare il comportamento degli argomenti della riga di comando dello script sono utilizzati principalmente che includono opzioni o flag. Ad esempio, potresti avere uno script che esegue un'operazione di backup e si desidera includere un'opzione per specificare la cartella di destinazione per il backup. Ecco i tre modi in cui si possono leggere gli argomenti della riga di comando in Bash Script:

    • Usando $ Sign
    • Usando il turno
    • Utilizzo del comando GetOps

Come leggere gli argomenti della riga di comando usando $ comando in bash

Il modo più semplice per leggere gli argomenti della riga di comando in Bash è utilizzare le variabili $ 0, $ 1, $ 2, ecc. Queste variabili rappresentano il nome dello script ($ 0) e i parametri posizionali passati allo script ($ 1, $ 2, ecc.). Ecco un esempio di Bash Codice che utilizza il comando $ per leggere gli argomenti della riga di comando:

#!/Bin/Bash
Echo "Nome script: $ 0"
Echo "Argomento1: $ 1"
Echo "Argomento2: $ 2"


Questo script legge gli argomenti della riga di comando in bash usando le variabili da $ 0, $ 1 e $ 2. La variabile $ 0 contiene il nome dello script stesso, mentre $ 1 e $ 2 contengono rispettivamente gli argomenti della prima e seconda riga di comando e per passare gli argomenti allo script qui è la sintassi:


Qui il nome del file può essere incluso come argomento se partono da $ 0 e così via, questo script legge gli argomenti della riga di comando in bash usando le variabili da $ 0, $ 1 e $ 2. La variabile $ 0 contiene il nome dello script stesso, mentre $ 1 e $ 2 contengono gli argomenti della prima e della seconda riga di comando, rispettivamente e sotto è l'output per esso:

Come leggere gli argomenti della riga di comando usando il comando shift in bash

Il comando "Shift" in Bash consente di spostare i parametri posizionali a sinistra, scartando il primo argomento e spostando il resto in una posizione. Ciò può essere utile se è necessario elaborare gli argomenti in un ciclo o se si desidera gestire gli argomenti in un ordine specifico. Ecco un esempio:

!/Bin/Bash
Echo "Nome script: $ 0"
mentre ["$#" -GT 0]; Fare
echo "argomento": $ 1
spostare
Fatto


Lo script inizia stampando il nome dello script usando la variabile $ 0, che contiene il nome dello script come è stato chiamato dalla riga di comando. La sezione successiva dello script è un ciclo while che controlla se ci sono argomenti della riga di comando rimanenti da elaborare. Lo fa controllando il valore della variabile $# speciale, che contiene il numero di argomenti della riga di comando.

Il ciclo stampa quindi l'argomento corrente utilizzando la variabile $ 1, che contiene il primo argomento, quindi utilizza il comando shift per rimuovere il primo argomento dall'elenco degli argomenti della riga di comando. Questo sposta tutti gli argomenti rimanenti in una posizione, in modo che $ 1 diventi il ​​secondo argomento, $ 2 diventa il terzo argomento e così via.

Come leggere gli argomenti della riga di comando usando getopts

Il comando "getopts in bash ti consente di analizzare argomenti e opzioni della riga di comando, questo è utile quando è necessario fornire argomenti o flag opzionali allo script. Ecco un codice di esempio che utilizza il comando getopts e leggi due argomenti dalla riga di comando:

#!/Bin/Bash
mentre gettopts ": a: b:" opt; Fare
Caso $ opt in
a) arg1 = "$ optarg"
;;
b) arg2 = "$ optarg"
;;
\?) echo "opzione non valida -$ optarg"> & 2
;;
Esac
Fatto
Echo "Argomento 1: $ arg1"
Echo "Argomento 2: $ arg2"


Il comando getopts viene utilizzato per iterare le opzioni e gli argomenti della riga di comando. Ci vogliono due argomenti: uno è una stringa di tutte le opzioni previste e l'altra è il nome variabile che manterrà il valore dell'opzione attualmente elaborata.

In questo script, le opzioni previste sono -a e -b, che sono seguite dai loro argomenti corrispondenti. Il comando getopts analizza queste opzioni e argomenti e le assegna alla variabile $ opt.

L'istruzione Case viene quindi utilizzata per elaborare ogni opzione. Se l'opzione è -a, il valore dell'argomento corrispondente viene assegnato alla variabile $ arg1. Se l'opzione è -B, il valore dell'argomento corrispondente viene assegnato alla variabile $ arg2. Se viene rilevata un'opzione non valida, viene stampato un messaggio di errore nella console.

Dopo che tutte le opzioni e gli argomenti sono stati elaborati, lo script stampa i valori di $ arg1 e $ arg2 alla console usando il comando Echo, ecco l'output per il codice:

Conclusione

Gli argomenti della riga di comando in bash vengono utilizzati per passare i parametri a uno script o comando quando viene eseguito dalla riga di comando. Possono includere valori, opzioni o flag che modificano il comportamento dello script e sono essenziali per personalizzare il comportamento degli script e dei comandi bash. Esistono tre modi per leggere gli argomenti della riga di comando e quelli sono: usando $ segnale, usando il comando getts e usando shift e tutti questi sono menzionati in questa guida.