Come faccio a passare l'argomento in una sceneggiatura bash?

Come faccio a passare l'argomento in una sceneggiatura bash?
La maggior parte degli utenti Linux Mint 20 si ritrova bloccati quando si superano una discussione in uno script bash. È possibile passare gli argomenti a qualsiasi script bash quando viene eseguito. Esistono diversi modi semplici e utili per passare argomenti in uno script bash. In questa guida agli articoli, ti faremo conoscere alcuni modi molto semplici per passare e usare argomenti nei tuoi script bash.

Passando argomenti usando le variabili predefinite:

Crea un nuovo file con qualsiasi nome utilizzando il comando "tocco", e.G., "file.sh".

$ touch filename

Apri questo file appena creato e aggiungi un po 'di script bash. Ho aggiunto alcune variabili predefinite, E.G. "$ 1", "$ 2" e "$ 3" di conseguenza. Qualunque argomento verrà passato attraverso il terminale verrà archiviato nelle variabili dichiarate.

Devi eseguire questo file usando "./"Comando seguito da alcuni argomenti. Come puoi vedere nell'immagine che quando ho superato gli argomenti, si verifica un errore: l'autorizzazione negata. Questo perché questo file non ha diritti di esecuzione.

$ ./argomento di nome file1 argomento2 argomento

Quindi per concedere i diritti di esecuzione a questo file, usa il comando sudo "chmod" per farlo.

$ sudo chmod +x nome file

Ora, esegui di nuovo il file usando lo stesso comando sopra. Questa volta ho fornito argomenti diversi. Vedrai che gli argomenti appena passati sono archiviati nelle variabili predefinite.

Passando il nome dello script shell come argomento:

Ora, usando lo stesso vecchio file "file.sh "con un piccolo cambiamento nelle sue variabili predefinite. Devi aggiungere la variabile "$ 0" nello script come mostrato.

Offrendo lo stesso "./"Comando script shell, il nome dello script shell, e.G. "./fileName "verrà archiviato nella variabile" $ 0 "come argomento.

Passando argomenti come array alla variabile:

A partire dallo stesso file "file.sh ", devi aggiungere alcune righe extra nella vecchia sceneggiatura. Dichiarare una variabile denominata "array". Aggiungi una variabile predefinita "$@" che memorizzerà gli argomenti inseriti dall'utente come un array. Questi argomenti saranno analizzati a "array" variabile. L'ultima riga visualizzerà tutti gli argomenti della variabile "array" ordinata dal numero dell'indice.

Eseguire il "./"Script shell. Vedrai che visualizzerà gli argomenti o i valori memorizzati come un array in "$@" analizzato alla variabile "array" ma non al nome dello script shell nella seconda istruzione "eco". Avrai il seguente output.

$ ./argomento di nome file1 argomento2 argomento

Usa lo stesso file con lo stesso script. Basta rimuovere l'ultima riga "$ array [3]" come chiaro nella foto.

Dopo aver eseguito il “./"Comando, vedrai un output simile a quello che hai ottenuto nell'esempio sopra senza modifiche.

Puoi anche ottenere lo stesso risultato sostituendo l'ultima riga dello script bash con una sola parola. Devi solo aggiungere "$@" nell'istruzione Echo e mostrerà gli argomenti presenti in questo array variabile.

Quindi eseguire il "./"Di nuovo comando, otterrai gli stessi risultati.

Controlla il numero totale di argomenti superati:

Al contrario, se si desidera conoscere il numero totale di argomenti passati dall'utente, puoi anche farlo. A questo scopo, devi solo sostituire "$@" con "$#" in "eco".

Di nuovo eseguendo il “./"Comando, ora vedrai l'intera figura degli argomenti passati allo script. Nel nostro caso, 3 argomenti vengono passati come valore.

Crea output di linee di linea:

Crea un nuovo file "Test.sh "nella directory della casa. Aggiungi lo script bash come mostrato.

Ora esegui lo stesso vecchio comando con argomenti diversi. In primo luogo, vedrai l'errore: autorizzazione negata.

Devi eseguire il comando "chmod" per concedere questo file sudo privilegi. Dopodiché, esegui il "./"Comando di script shell di nuovo. E otterrai la linea di linea di linea di argomenti.

Limitare la variabile tramite il numero dell'indice dell'argomento:

Se si desidera limitare la variabile utilizzando il suo numero indice, puoi farlo molto facilmente. Aggiungi parentesi ricci dopo il segno "$" e aggiungi il numero dell'indice dell'argomento che si desidera visualizzare prima di altri argomenti.

Se gli argomenti forniti dagli utenti sono inferiori al numero dell'indice fornito nella variabile limite, otterrai un valore di argomento vuoto. Come istanza, ho fornito 4 argomenti, ma ho dato il valore dell'argomento "05" da visualizzare. In questa situazione, la variabile verrà visualizzata vuota perché il quinto argomento non è stato approvato.

Ma quando si passa il numero uguale o più di argomenti nel comando, otterrai il valore visualizzato nel risultato come mostrato.

Controllo degli argomenti del valore specifici:

Crea un nuovo file con il nome "Controlla.sh "nella tua home directory. Aggiungi lo stesso script di Bash come mostrato nell'immagine seguente. In questo script, abbiamo una "var" variabile per archiviare il valore dell'argomento approvato dall'utente. Allora abbiamo un'istruzione "if", che verificherà il valore del valore dell'argomento o meno. Se il valore dell'argomento viene abbinato al valore fornito nella parentesi, verrà eseguita la prima istruzione "eco". Se il valore non corrisponde, verrà eseguita la seconda istruzione "Echo".

Quando eseguiamo il comando di script shell, aumenterà un errore. Usando il comando "chmod", possiamo correggere questo errore.

Successivamente, eseguire lo script shell per il file particolare con un valore di argomento. Nel nostro caso, abbiamo fornito "AQSA" come valore di argomento, che è lo stesso del valore visualizzato nella parentesi. Quindi lo script bash eseguirà la prima dichiarazione "eco" come mostrato.

D'altra parte, se si forniscono i diversi valori degli argomenti nello script shell, visualizzerà l'altra affermazione "eco". Qui, ho aggiunto "Rimsha" come valore dell'argomento, che è diverso dal valore fornito nell'istruzione IF. Quindi Bash Script eseguirà la seconda dichiarazione "Echo".

Conclusione:

Spero che questa guida ti abbia aiutato sufficientemente ad avere una forte presa su come passare gli argomenti alle variabili predefinite, passare il valore dell'argomento come array a una variabile, ottenere il numero totale di argomenti, la linea per linea di argomenti, limita l'argomento output utilizzando il numero dell'indice, controllando l'argomento del valore specifico e molti altri.