GNU/Linux >> Linux Esercitazione >  >> Linux

Parametri posizionali di Bash spiegati con 2 script di shell di esempio

Un parametro è un'entità che memorizza i valori. Può essere un nome, un numero o alcuni caratteri speciali. Una variabile è un parametro indicato da un nome. Alcune variabili sono già impostate per te e alla maggior parte di queste non possono essere assegnati valori.

Queste variabili contengono informazioni utili, che possono essere utilizzate da uno script di shell per conoscere l'ambiente in cui è in esecuzione.

Bash fornisce due tipi di parametri.

  • Parametro posizionale
  • Parametro speciale

In questo articolo, discutiamo del parametro posizionale bash con gli esempi.

Questo articolo fa parte della nostra serie di tutorial bash in corso.

Esempio 1:parametro posizionale Bash – $0, $1, $2 ..

I parametri posizionali sono gli argomenti forniti ai tuoi script quando viene invocato. Potrebbe essere compreso tra $ 1 e $ N. Quando N è composto da più di una singola cifra, deve essere racchiuso tra parentesi graffe come ${N}.

La variabile $0 è il nome di base del programma come è stato chiamato.

L'esempio seguente ottiene due argomenti e fornisce il risultato di operazioni aritmetiche tra questi due numeri interi.

Innanzitutto, crea lo script della shell arithmetic.sh come mostrato di seguito.

$ cat arithmetic.sh
#!/bin/bash

echo -e  "\$1=$1"
echo -e "\$2=$2"

let add=$1+$2
let sub=$1-$2
let mul=$1*$2
let div=$1/$2

echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"

Quindi, esegui arithmetic.sh con i parametri appropriati come mostrato di seguito.

$ ./arithmetic.sh 12 10
$1=12
$2=10
Addition=22
Subtraction=2
Multiplication=120
Division=1

Nell'output precedente $1 ha il valore 12 e $2 ha 10.

La funzione "let" incorporata nella shell consente di eseguire operazioni aritmetiche sulle variabili della shell. Lo script precedente esegue le operazioni aritmetiche come addizione, sottrazione, moltiplicazione e divisione sui parametri indicati.

Esempio 2:imposta/disattiva i parametri posizionali di Bash

Il comando set integrato viene utilizzato per impostare e annullare l'impostazione del parametro posizionale.

Innanzitutto, crea lo script della shell positional.sh come mostrato di seguito.

$ cat positional.sh
#!/bin/bash

# From command line
echo -e "Basename=$0"
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# From Set builtin
set First Second Third
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Store positional parameters with -(hyphen)
set - -f -s -t
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Unset positional parameter
set --
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

Lo script precedente stampa prima gli argomenti della riga di comando, quindi il comando set imposta il parametro posizionale in modo esplicito. Impostato con – si riferisce alla fine delle opzioni, tutti i seguenti argomenti sono parametri posizionali anche se possono iniziare con '-'. Imposta con '–' senza altri argomenti annulla l'impostazione di tutti i parametri posizionali.

Quindi, esegui positional.sh come mostrato di seguito.

$ ./positional.sh
Basename=t.sh
$1=12
$2=10
$3=
$1=First
$2=Second
$3=Third
$1=-f
$2=-s
$3=-t
$1=
$2=
$3=

Nel prossimo articolo, discutiamo dei parametri speciali di bash con esempi.


Linux
  1. Bash -c con parametri posizionali?

  2. Condivisione di variabili su più script di shell?

  3. È possibile far interagire uno script di shell bash con un altro programma a riga di comando?

  4. Come gestire più di 10 parametri in shell

  5. Ambito variabile per gli script e le funzioni della shell bash nello script

Bash Scripting:variabili spiegate con esempi

Scripting Bash – Spiegazione del comando Printf con esempi

Bash Scripting – Array associativo spiegato con esempi

Come creare documenti con gli script Bash

Come utilizzare il comando echo negli script Bash in Linux

Impara gli script Bash multi-threading con GNU Parallel