Utilitzant variables d'argument:
La variable argument comença a partir de $ 0. El nom del fitxer de seqüència principal s'emmagatzema a $ 0 que rep els valors dels arguments dels arguments de la línia d'ordres. Si es passen dos arguments a la línia d'ordres, els valors dels arguments es rebran de manera seqüencial en $ 1 i $ 2 variables.
Exemple -1: enviament de tres valors numèrics com a arguments
Creeu un fitxer bash i afegiu el codi següent. El script rebrà tres valors d'argument i s'emmagatzemarà en $ 1, $ 2 i $ 3. Comptarà el nombre total d'arguments, imprimirà els valors dels arguments amb bucle i sense bucle. Per últim, imprimiu la suma de tots els valors dels arguments.
#! / bin / bash
# Comptant el nombre total d'arguments
trobo 'Nombre total d'arguments: $ #'
# Lectura de valors argumentals individualment
trobo 'Valor del primer argument: $ 1'
trobo Valor del segon argument: 2 $
trobo 'Valor del tercer argument: 3 dòlars'
# Lectura de valors d'argument mitjançant bucle
perargvaldins '[email protected]'
fer
trobo -n '$ argval'
fet
# Afegint valors d'arguments
suma= $(($ 1+$ 2+$ 3))
# imprimeix el resultat
trobo -I ' nResultat de la suma =$ suma'
Executeu el fitxer bash amb tres valors d'arguments numèrics.
$bashcmdline1.sh50 35 15
Exemple -2: prendre el nom del fitxer com a argument
Creeu un fitxer bash i afegiu el codi següent per comptar el nombre total de caràcters de qualsevol fitxer. Aquí, el nom del fitxer es passarà com a argument de línia d'ordres.
#! / bin / bashnom de l'arxiu=$ 1
totalchar=`wc -c $ nom de fitxer`
trobo 'El nombre total de caràcters són$ totalchar'
Executeu l'script bash amb el nom del fitxer com a valor d'argument únic i executeu una altra ordre per comprovar el nombre total de caràcters d'aquest fitxer. Aquí s’utilitza el fitxer employee.txt com a valor d’argument. El nombre total de caràcters del fitxer employee.txt és de 204.
$bashcmdline2.sh employee.txt
$wc -cempleat.txt
Utilitzant la funció getopts:
Si voleu emmagatzemar dades a la base de dades o a qualsevol fitxer o crear un informe en un format concret basat en valors d'arguments de línia d'ordres getopts funció és la millor opció per fer la tasca. És una funció Linux integrada. Per tant, podeu utilitzar fàcilment aquesta funció al vostre script per llegir dades formatades des de la línia d’ordres.
Exemple -1: llegir arguments mitjançant la funció getopts
Creeu un fitxer bash i afegiu el següent script per entendre l’ús de getopts funció. La funció ‘getopts’ s’utilitza amb mentre el bucle permet llegir les opcions i els valors de l’argument de la línia d’ordres. Aquí s’utilitzen 4 opcions que són 'Jo', 'n', 'm' i 'I' . La sentència case s'utilitza per fer coincidir l'opció concreta i emmagatzemar el valor de l'argument en una variable. Finalment, imprimiu els valors de la variable.
#! / bin / bashmentre getopts ': i: n: m: e:'enfadat;fer
Caixa $ arg dins
jo) Identificació=$ OPTARG;;
n) Nom=$ OPTARG;;
m) Data de fabricació=$ OPTARG;;
I) Data d'expiració=$ OPTARG;;
esac
fet
trobo -I ' n$ ID $ Nom $ Data de fabricació $ Data de caducitat n'
Executeu el fitxer amb les opcions i valors d'argument següents. Aquí, p100 és el valor de l'opció -i, 'Hot Cake' és el valor de l'opció -n, '01 -01-2018 'és el valor de l'opció -m i '06 -01-2018' és el valor de - e opció.
$bashcmdline3.sh-ip001-n 'Pastís calent' -m '01 -01-2018 ' -I '06 -01-2018 '
Quan cal enviar valors simples en un script, és millor utilitzar variables d'argument. Però si voleu enviar dades de forma formatada, és millor utilitzar la funció getopts per recuperar valors d'arguments. Per obtenir més informació, vegeu el vídeo !