logo

Variables Bash

Les variables són la part essencial de la programació, o podem dir que són l'esperit d'un llenguatge de programació. Les variables especifiquen la ubicació de la memòria mitjançant caràcters, numèrics i alfanumèrics. S'utilitzen per ser referenciats i manipulats en un programa informàtic.

Quines són les variables?

Les variables són els contenidors que emmagatzemen dades o una informació útil com el valor al seu interior. A continuació es mostra la sintaxi d'una variable:

 Variable_name =value 

Una variable és una forma combinada de dues paraules, és a dir, variar + able, el que significa que el seu valor es pot canviar i es pot utilitzar diverses vegades.

conversió nfa a dfa

La variable es coneix com l'emmagatzematge temporal per a qualsevol tipus de dades com ara enter, flotant, char, etc. Un nom de variable pot incloure alfabets, dígits i guió baix , i el seu nom només es pot començar amb alfabets i guió baix.

Nota: no podem definir un nom de variable que comenci per cap dígit.

Què són les variables Bash?

No podem utilitzar variables bash sense tenir la informació adequada ( sintaxi, tipus de dades, tipus, funcionament ) sobre això, per tant, anem a través d'aquest breu tutorial per tenir la visió general adequada de les variables Bash.

Al principi, coneixeu la sintaxi.

Sintaxi:

 Variable_name=value 

Regles establertes per definir variables Bash:

  1. Prefixeu el nom de la variable amb el signe de dòlar ($) mentre llegiu o imprimiu una variable.
  2. Deixeu fora el signe del dòlar ($) mentre configureu una variable amb qualsevol valor.
  3. Un nom de variable pot ser alfanumèric o es pot escriure amb un guió baix (_).
  4. Un nom de variable distingeix entre majúscules i minúscules: x i X es consideren dues variables diferents.
  5. El nom de la variable es pot escriure amb lletres UPPER_CASE o LOWER_CASE o barrejar-les com vulgueu.
  6. Una variable es pot col·locar en qualsevol lloc d'un script Bash o a la línia d'ordres, perquè en temps d'execució, Bash la substituirà pel valor assignat. Va ser possible gràcies a la substitució abans d'executar l'ordre.
  7. No hi hauria d'haver espais en blanc a cap costat del signe igual (=) entre el nom de la variable i el seu valor. A continuació es mostren alguns exemples Variables no vàlides tenint espais en blanc (indicats per punts...) entre ells tal com es mostra a continuació:
    var1=...variable1
    var2...=variable2
    var3...=...variable3
  8. No cal utilitzar cometes, ni simples ni dobles, per definir una variable amb un valor d'un sol caràcter, com ara var1=variable . Per introduir diverses paraules o una cadena com a element únic en una variable, feu servir cometes per incloure el vostre contingut en aquesta variable.
    • La cometa simple ('') ajuda a tractar tots els personatges.
    • Les cometes dobles ('') ajuda a fer la substitució.

Tipus de dades

En els llenguatges de programació formals, heu de definir el tipus de dades de qualsevol variable en el moment de la declaració de la variable. Per exemple:

 int year=2012 char comp_name='jtp' 

Però en el cas de Bash, no cal definir el tipus de dades de cap variable en el moment de la declaració de la variable. Les variables Bash són sense mecanografiar , el que significa que només cal que introduïu el nom de la variable assignant-ne el valor i automàticament considerarà aquest tipus de dades.

De manera que si assigneu qualsevol valor numèric a la variable, funcionarà com a nombre enter i si assigneu un valor de caràcter a la variable, llavors serà String.

 year=2012 comp_name=jtp 

utilitzant l'ordre echo, llegiu-los assignant el signe $ abans del seu nom, com ara

eco $any
echo $nom

Tipus de variables Bash

Hi ha dos tipus de variables en un shell o qualsevol sistema UNIX.

  1. Variables definides pel sistema
  2. Variables definides per l'usuari

1. Variables definides pel sistema: Aquestes són les variables predefinides tal com són creades i mantingudes pel propi sistema operatiu LINUX. La seva convenció estàndard és que generalment es defineixen en majúscules, és a dir, MAJÚSCULES. Per tant, sempre que veieu una variable definida en majúscules, el més probable és que siguin les variables definides pel sistema.

Aquestes són les següents variables definides pel sistema, tal com es mostra a continuació:

1. BASH representa el nom de Shell.

Exemple:

 BASH=/usr/bin/bash 

2. BASH_VERSION especifica la versió de l'intèrpret d'ordres que conté el Bash.

Exemple:

 BASH_VERSION=4.2.46(2) 

3. COLUMNES especificar el núm. de columnes per a la nostra pantalla.

Exemple:

 COLUMNS=80 

4. CASA especifica el directori inicial de l'usuari.

Exemple:

 HOME=/home/jatpoint 

5. LOGNAME especifica el nom d'usuari de registre.

Exemple:

 LOGNAME=javatpoint 

6. OSTIP indica el tipus de sistema operatiu.

Exemple:

 OSTYPE=linux-gnu 

7. PWD representa el directori de treball actual.

Exemple:

 PWD=/home/javatpoint 

8. NOM D'USUARI especifica el nom de l'usuari connectat actualment.

Exemple:

 USERNAME=javatpoint 

Per conèixer la llista d'aquestes variables al vostre sistema, escriviu les ordres conjunt, env , i imprimirv al terminal de la línia d'ordres de la següent manera:

1. Escrivint el conjunt comandament.

Sortida:

Variables Bash

2. Escrivint el env comandament

Sortida:

Variables Bash

3. Escrivint l'ordre printenv

Sortida:

Variables Bash

Anem a cridar aquestes variables mitjançant Bash Shell. A continuació es mostren els passos donats:

Pas 1: Creeu un script anomenat per Bash_sdvar i escriviu el codi següent a la consola Bash de la manera següent:

 #! /bin/bash # Bash System-defined Variables echo $HOME # Home Directory echo $PWD # current working directory echo $BASH # Bash shell name echo $BASH_VERSION # Bash shell Version echo $LOGNAME # Name of the Login User echo $OSTYPE # Type of OS 

Pas 2. Mireu la consola Bash que es mostra a continuació:

Variables Bash

Pas 3. Deseu i executeu l'script. Mostrarà la sortida tal com es pot veure a la figura que es mostra a continuació.

Sortida:

Variables Bash

2. Variables definides per l'usuari: Aquestes variables les crea i les manté l'usuari. Generalment, aquests tipus de variables es defineixen a LOWER_CASES. No hi ha cap regla estricta per escriure aquestes variables en minúscules. També les podem escriure en majúscules.

Creem un script Bash per definir aquestes variables. Seguiu els passos indicats a continuació:

Pas 1. Creeu un script anomenat per bash_yard i escriviu el codi següent a Bash Console:

 #! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.' 

Pas 2. Consulteu el codi a Bash Console.

Variables Bash

Pas 3. Deseu i executeu l'script.

Sortida:

Variables Bash

Funcionament de les variables Bash

Després de fer una demostració bàsica de variables, anem a saber com funcionen?

Hi ha dues accions que normalment realitzem per a una variable a Bash, tal com es mostra a continuació:

  • establint un valor per a una variable
  • lectura del valor per això.

Un valor variable es pot establir de diferents maneres en què la forma més habitual és establir el valor directament. Per llegir una variable, podem col·locar-ne el nom (prefixant el signe $) a qualsevol lloc de l'script.

Bash primer comprova tots els noms de variables com si estiguessin presents a l'script. A continuació, interpreta cada línia del nostre guió. Després d'identificar cada variable, substitueix un nom de variable pel seu valor assignat. Després de tot, interpreta/executa aquesta línia de codi i continua aquest procés per a cada línia codificada del nostre script.

NOTA: els dos tipus de variables de Bash (que hem comentat) funcionen tant al terminal com a l'script Bash. Vegem el seu treball a terminal i Bash a través d'un exemple senzill:

Exemple: Truqueu un nom d'usuari per XYZ, la seva ubicació on treballa actualment i la versió de Bash Shell que està utilitzant per a Bash Scripting.

1. Treballant al terminal

Variables Bash

2. Treballant amb Bash Shell

Vegeu l'script anomenat per Bash_Var que es mostra a continuació:

Variables Bash

En el 3rdlínia del guió , vam declarar una variable USER_NAME per emmagatzemar el nom d'usuari XYZ com el seu valor.

En les dues últimes línies , hem imprès el missatge desitjat utilitzant el eco comandament.

Hi ha dues variables i una ordre en aquest missatge. Cadascun d'ells va precedit pel signe del dòlar ($) on:

    USER_NAMEés una variable definida per l'usuari per cridar el nom d'usuari,BASH_VERSIONés una variable definida pel sistema, que l'intèrpret d'ordres s'anomena. S'utilitza per imprimir la versió de Bash Shell,PWDL'ordre s'utilitza per imprimir la ubicació actual de l'usuari.

Per a una millor comprensió, creeu aquest script seguint el codi donat:

 #! /bin/bash #Bash Variables USER_NAME=XYZ echo Hey there! $USER_NAME is any user currently working on the directory $PWD with Bash Shell Version $BASH_VERSION. 

Mostrarà la sortida tal com es pot veure a la imatge següent:

Sortida:

Variables Bash

Hi ha alguns exemples més per practicar variables tant al terminal com al Bash Shell. Seguint el conjunt de regles (s'ha comentat abans) feu una pràctica sobre variables de la següent manera:

A. Utilitzant el terminal de línia d'ordres

1. Establiment de les variables

Variables Bash

2. Lectura i referència de les variables

Variables Bash

3. Variables no vàlides

Variables Bash

4. Combinació de dues variables de cadena

Variables Bash

5. Concatenació de cadenes amb variables

Variables Bash

NOTA: No utilitzeu cometes simples per combinar dues variables i també per concatenar cadenes amb variables. De manera que si concateneu les cadenes tancant-les entre cometes simples, serà un error llegir-les com podeu veure a la imatge que es mostra a continuació:

Variables Bash

B. Ús de Bash Script:

És un exemple de combinant les variables String.

Variables Bash

Sortida:

Variables Bash

Arguments de la línia d'ordres

Els arguments de la línia d'ordres s'utilitzen per fer un script més dinàmic passant l'entrada al codi. Passem aquests arguments en temps d'execució de l'script com la següent forma:

 ./script_name arg1 arg2 arg3..... 

No hi hauria d'haver espai entre el nom de l'script i tots els arguments que passen.

Com utilitzar els arguments de la línia d'ordres?

En un Bash Shell, s'utilitzen amb la referència dels següents paràmetres predeterminats o les variables especials.

    Les variables són la part essencial de la programació, o podem dir que són l'esperit d'un llenguatge de programació. Les variables especifiquen la ubicació de la memòria mitjançant caràcters, numèrics i alfanumèrics. S'utilitzen per ser referenciats i manipulats en un programa informàtic.

    Quines són les variables?

    Les variables són els contenidors que emmagatzemen dades o una informació útil com el valor al seu interior. A continuació es mostra la sintaxi d'una variable:

     Variable_name =value 

    Una variable és una forma combinada de dues paraules, és a dir, variar + able, el que significa que el seu valor es pot canviar i es pot utilitzar diverses vegades.

    La variable es coneix com l'emmagatzematge temporal per a qualsevol tipus de dades com ara enter, flotant, char, etc. Un nom de variable pot incloure alfabets, dígits i guió baix , i el seu nom només es pot començar amb alfabets i guió baix.

    Nota: no podem definir un nom de variable que comenci per cap dígit.

    Què són les variables Bash?

    No podem utilitzar variables bash sense tenir la informació adequada ( sintaxi, tipus de dades, tipus, funcionament ) sobre això, per tant, anem a través d'aquest breu tutorial per tenir la visió general adequada de les variables Bash.

    Al principi, coneixeu la sintaxi.

    Sintaxi:

     Variable_name=value 

    Regles establertes per definir variables Bash:

    1. Prefixeu el nom de la variable amb el signe de dòlar ($) mentre llegiu o imprimiu una variable.
    2. Deixeu fora el signe del dòlar ($) mentre configureu una variable amb qualsevol valor.
    3. Un nom de variable pot ser alfanumèric o es pot escriure amb un guió baix (_).
    4. Un nom de variable distingeix entre majúscules i minúscules: x i X es consideren dues variables diferents.
    5. El nom de la variable es pot escriure amb lletres UPPER_CASE o LOWER_CASE o barrejar-les com vulgueu.
    6. Una variable es pot col·locar en qualsevol lloc d'un script Bash o a la línia d'ordres, perquè en temps d'execució, Bash la substituirà pel valor assignat. Va ser possible gràcies a la substitució abans d'executar l'ordre.
    7. No hi hauria d'haver espais en blanc a cap costat del signe igual (=) entre el nom de la variable i el seu valor. A continuació es mostren alguns exemples Variables no vàlides tenint espais en blanc (indicats per punts...) entre ells tal com es mostra a continuació:
      var1=...variable1
      var2...=variable2
      var3...=...variable3
    8. No cal utilitzar cometes, ni simples ni dobles, per definir una variable amb un valor d'un sol caràcter, com ara var1=variable . Per introduir diverses paraules o una cadena com a element únic en una variable, feu servir cometes per incloure el vostre contingut en aquesta variable.
      • La cometa simple ('') ajuda a tractar tots els personatges.
      • Les cometes dobles ('') ajuda a fer la substitució.

    Tipus de dades

    En els llenguatges de programació formals, heu de definir el tipus de dades de qualsevol variable en el moment de la declaració de la variable. Per exemple:

     int year=2012 char comp_name='jtp' 

    Però en el cas de Bash, no cal definir el tipus de dades de cap variable en el moment de la declaració de la variable. Les variables Bash són sense mecanografiar , el que significa que només cal que introduïu el nom de la variable assignant-ne el valor i automàticament considerarà aquest tipus de dades.

    De manera que si assigneu qualsevol valor numèric a la variable, funcionarà com a nombre enter i si assigneu un valor de caràcter a la variable, llavors serà String.

     year=2012 comp_name=jtp 

    utilitzant l'ordre echo, llegiu-los assignant el signe $ abans del seu nom, com ara

    eco $any
    echo $nom

    Tipus de variables Bash

    Hi ha dos tipus de variables en un shell o qualsevol sistema UNIX.

    1. Variables definides pel sistema
    2. Variables definides per l'usuari

    1. Variables definides pel sistema: Aquestes són les variables predefinides tal com són creades i mantingudes pel propi sistema operatiu LINUX. La seva convenció estàndard és que generalment es defineixen en majúscules, és a dir, MAJÚSCULES. Per tant, sempre que veieu una variable definida en majúscules, el més probable és que siguin les variables definides pel sistema.

    Aquestes són les següents variables definides pel sistema, tal com es mostra a continuació:

    1. BASH representa el nom de Shell.

    Exemple:

     BASH=/usr/bin/bash 

    2. BASH_VERSION especifica la versió de l'intèrpret d'ordres que conté el Bash.

    Exemple:

     BASH_VERSION=4.2.46(2) 

    3. COLUMNES especificar el núm. de columnes per a la nostra pantalla.

    Exemple:

     COLUMNS=80 

    4. CASA especifica el directori inicial de l'usuari.

    Exemple:

     HOME=/home/jatpoint 

    5. LOGNAME especifica el nom d'usuari de registre.

    Exemple:

     LOGNAME=javatpoint 

    6. OSTIP indica el tipus de sistema operatiu.

    Exemple:

     OSTYPE=linux-gnu 

    7. PWD representa el directori de treball actual.

    Exemple:

     PWD=/home/javatpoint 

    8. NOM D'USUARI especifica el nom de l'usuari connectat actualment.

    Exemple:

     USERNAME=javatpoint 

    Per conèixer la llista d'aquestes variables al vostre sistema, escriviu les ordres conjunt, env , i imprimirv al terminal de la línia d'ordres de la següent manera:

    1. Escrivint el conjunt comandament.

    Sortida:

    Variables Bash

    2. Escrivint el env comandament

    Sortida:

    Variables Bash

    3. Escrivint l'ordre printenv

    Sortida:

    Variables Bash

    Anem a cridar aquestes variables mitjançant Bash Shell. A continuació es mostren els passos donats:

    Pas 1: Creeu un script anomenat per Bash_sdvar i escriviu el codi següent a la consola Bash de la manera següent:

     #! /bin/bash # Bash System-defined Variables echo $HOME # Home Directory echo $PWD # current working directory echo $BASH # Bash shell name echo $BASH_VERSION # Bash shell Version echo $LOGNAME # Name of the Login User echo $OSTYPE # Type of OS 

    Pas 2. Mireu la consola Bash que es mostra a continuació:

    Variables Bash

    Pas 3. Deseu i executeu l'script. Mostrarà la sortida tal com es pot veure a la figura que es mostra a continuació.

    Sortida:

    Variables Bash

    2. Variables definides per l'usuari: Aquestes variables les crea i les manté l'usuari. Generalment, aquests tipus de variables es defineixen a LOWER_CASES. No hi ha cap regla estricta per escriure aquestes variables en minúscules. També les podem escriure en majúscules.

    Creem un script Bash per definir aquestes variables. Seguiu els passos indicats a continuació:

    Pas 1. Creeu un script anomenat per bash_yard i escriviu el codi següent a Bash Console:

     #! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.' 

    Pas 2. Consulteu el codi a Bash Console.

    Variables Bash

    Pas 3. Deseu i executeu l'script.

    Sortida:

    Variables Bash

    Funcionament de les variables Bash

    Després de fer una demostració bàsica de variables, anem a saber com funcionen?

    Hi ha dues accions que normalment realitzem per a una variable a Bash, tal com es mostra a continuació:

    • establint un valor per a una variable
    • lectura del valor per això.

    Un valor variable es pot establir de diferents maneres en què la forma més habitual és establir el valor directament. Per llegir una variable, podem col·locar-ne el nom (prefixant el signe $) a qualsevol lloc de l'script.

    Bash primer comprova tots els noms de variables com si estiguessin presents a l'script. A continuació, interpreta cada línia del nostre guió. Després d'identificar cada variable, substitueix un nom de variable pel seu valor assignat. Després de tot, interpreta/executa aquesta línia de codi i continua aquest procés per a cada línia codificada del nostre script.

    NOTA: els dos tipus de variables de Bash (que hem comentat) funcionen tant al terminal com a l'script Bash. Vegem el seu treball a terminal i Bash a través d'un exemple senzill:

    Exemple: Truqueu un nom d'usuari per XYZ, la seva ubicació on treballa actualment i la versió de Bash Shell que està utilitzant per a Bash Scripting.

    1. Treballant al terminal

    Variables Bash

    2. Treballant amb Bash Shell

    Vegeu l'script anomenat per Bash_Var que es mostra a continuació:

    Variables Bash

    En el 3rdlínia del guió , vam declarar una variable USER_NAME per emmagatzemar el nom d'usuari XYZ com el seu valor.

    En les dues últimes línies , hem imprès el missatge desitjat utilitzant el eco comandament.

    Hi ha dues variables i una ordre en aquest missatge. Cadascun d'ells va precedit pel signe del dòlar ($) on:

      USER_NAMEés una variable definida per l'usuari per cridar el nom d'usuari,BASH_VERSIONés una variable definida pel sistema, que l'intèrpret d'ordres s'anomena. S'utilitza per imprimir la versió de Bash Shell,PWDL'ordre s'utilitza per imprimir la ubicació actual de l'usuari.

    Per a una millor comprensió, creeu aquest script seguint el codi donat:

     #! /bin/bash #Bash Variables USER_NAME=XYZ echo Hey there! $USER_NAME is any user currently working on the directory $PWD with Bash Shell Version $BASH_VERSION. 

    Mostrarà la sortida tal com es pot veure a la imatge següent:

    Sortida:

    Variables Bash

    Hi ha alguns exemples més per practicar variables tant al terminal com al Bash Shell. Seguint el conjunt de regles (s'ha comentat abans) feu una pràctica sobre variables de la següent manera:

    A. Utilitzant el terminal de línia d'ordres

    1. Establiment de les variables

    Variables Bash

    2. Lectura i referència de les variables

    Variables Bash

    3. Variables no vàlides

    Variables Bash

    4. Combinació de dues variables de cadena

    Variables Bash

    5. Concatenació de cadenes amb variables

    Variables Bash

    NOTA: No utilitzeu cometes simples per combinar dues variables i també per concatenar cadenes amb variables. De manera que si concateneu les cadenes tancant-les entre cometes simples, serà un error llegir-les com podeu veure a la imatge que es mostra a continuació:

    Variables Bash

    B. Ús de Bash Script:

    És un exemple de combinant les variables String.

    Variables Bash

    Sortida:

    Variables Bash

    Arguments de la línia d'ordres

    Els arguments de la línia d'ordres s'utilitzen per fer un script més dinàmic passant l'entrada al codi. Passem aquests arguments en temps d'execució de l'script com la següent forma:

     ./script_name arg1 arg2 arg3..... 

    No hi hauria d'haver espai entre el nom de l'script i tots els arguments que passen.

    Com utilitzar els arguments de la línia d'ordres?

    En un Bash Shell, s'utilitzen amb la referència dels següents paràmetres predeterminats o les variables especials.

      $0especifica el nom de l'script que s'ha d'invocar.$1-$9emmagatzema els noms dels 9 primers arguments o es pot utilitzar com a posicions dels arguments.$#especifica el nombre total (recompte) d'arguments passats a l'script.$*emmagatzema tots els arguments de la línia d'ordres unint-los.$@emmagatzema la llista d'arguments com una matriu.$?especifica l'ID de procés de l'script actual.$$especifica l'estat de sortida de l'última ordre o el procés d'execució més recent.$!mostra l'identificador de l'últim treball en segon pla.

    A continuació es mostren els dos mètodes que fem servir per passar arguments de línia d'ordres:

    Mètode 1: Ús del número de posició

    És la primera manera d'accedir als arguments utilitzant els paràmetres per defecte ($1...$9). La imatge de sota ho explica:

    Variables Bash

    Sortida:

    Variables Bash

    Mètode 2: Ús de Array.

    És la segona manera de passar els arguments com a matriu. Seguiu l'algorisme donat per aplicar aquest mètode.

    Pas 1: Creeu un script Bash.

    Pas 2: Declara qualsevol nom de variable i assigna el seu valor com a $a en la forma següent:

     variable_name=('$@') 

    On $@ és l'argument predeterminat que s'utilitza per emmagatzemar els arguments (passem) com a matriu.

    Pas 3: Mostra els arguments definint el seu índex de matriu en la forma següent:

     ${variable_name[i]} 

    Pas 4: Deseu i tanqueu l'script.

    Pas 5: Executeu l'script passant els arguments.

    Consulteu el programa següent:

    Programa:

     #!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]} 

    A la consola Bash:

    Variables Bash

    Sortida:

    Variables Bash

    Substitució de comandaments

    Segons la documentació oficial de Bash

    'La substitució d'ordres permet que la sortida d'una ordre substitueixi la mateixa ordre. Bash realitza l'expansió executant l'ordre en un entorn de subshell i substituint la substitució de l'ordre per la sortida estàndard de l'ordre, amb qualsevol nova línia de final suprimida. Les noves línies incrustades no s'eliminen, però es poden eliminar durant la divisió de paraules.'

    La substitució d'ordres es refereix a una expansió que Bash realitza per a nosaltres. Pren la sortida de l'ordre Bash, s'emmagatzema en una variable (generalment) i es mostra amb eco.

    Substitució de comandaments ofereix flexibilitat de dades pel que fa als scripts i l'assignació de variables. És senzill i fàcil tenir la sortida de la línia d'ordres única. En cas que la sortida superi unes quantes línies, llavors s'eliminen les noves línies posteriors i el contingut complet de la sortida acaba en una única línia.

    Vegeu la sintaxi per utilitzar-la:

    Sintaxi

    La forma clàssica de substituir ordres en una variable o substitució d'ordres és utilitzar cometes inverses (`...`), tal com es mostra a continuació:

     variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command` 

    Ara, fem la substitució d'ordres tancant les ordres entre claudàtors (precedits pel signe de dòlar ($)). Fes un cop d'ull:

     variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command) 

    Per tant, fem la substitució d'ordres amb un exemple segons la discussió.

    En aquest exemple, estem substituint una comanda ls en una variable. Veure el terminal.

    Variables Bash

    Línia 1: Sense substitució d'ordres, la sortida s'amplia en diverses línies.

    Línia 2 i 3: Amb la substitució d'ordres, la sortida s'acaba en una única línia (espai estalviat eliminant les noves línies).

    A continuació es mostra l'script Bash per provar la substitució d'ordres.

    Programa:

     #! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult 

    Vegeu la consola Bash:

    Variables Bash

    Sortida:

    Variables Bash
    especifica el nom de l'script que s'ha d'invocar.-emmagatzema els noms dels 9 primers arguments o es pot utilitzar com a posicions dels arguments.$#especifica el nombre total (recompte) d'arguments passats a l'script.$*emmagatzema tots els arguments de la línia d'ordres unint-los.$@emmagatzema la llista d'arguments com una matriu.$?especifica l'ID de procés de l'script actual.$$especifica l'estat de sortida de l'última ordre o el procés d'execució més recent.$!mostra l'identificador de l'últim treball en segon pla.

A continuació es mostren els dos mètodes que fem servir per passar arguments de línia d'ordres:

Mètode 1: Ús del número de posició

És la primera manera d'accedir als arguments utilitzant els paràmetres per defecte (...). La imatge de sota ho explica:

Variables Bash

Sortida:

Variables Bash

Mètode 2: Ús de Array.

És la segona manera de passar els arguments com a matriu. Seguiu l'algorisme donat per aplicar aquest mètode.

Pas 1: Creeu un script Bash.

Pas 2: Declara qualsevol nom de variable i assigna el seu valor com a $a en la forma següent:

 variable_name=('$@') 

On $@ és l'argument predeterminat que s'utilitza per emmagatzemar els arguments (passem) com a matriu.

Pas 3: Mostra els arguments definint el seu índex de matriu en la forma següent:

 ${variable_name[i]} 

Pas 4: Deseu i tanqueu l'script.

Pas 5: Executeu l'script passant els arguments.

Consulteu el programa següent:

Programa:

 #!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]} 

A la consola Bash:

Variables Bash

Sortida:

Variables Bash

Substitució de comandaments

Segons la documentació oficial de Bash

'La substitució d'ordres permet que la sortida d'una ordre substitueixi la mateixa ordre. Bash realitza l'expansió executant l'ordre en un entorn de subshell i substituint la substitució de l'ordre per la sortida estàndard de l'ordre, amb qualsevol nova línia de final suprimida. Les noves línies incrustades no s'eliminen, però es poden eliminar durant la divisió de paraules.'

La substitució d'ordres es refereix a una expansió que Bash realitza per a nosaltres. Pren la sortida de l'ordre Bash, s'emmagatzema en una variable (generalment) i es mostra amb eco.

Substitució de comandaments ofereix flexibilitat de dades pel que fa als scripts i l'assignació de variables. És senzill i fàcil tenir la sortida de la línia d'ordres única. En cas que la sortida superi unes quantes línies, llavors s'eliminen les noves línies posteriors i el contingut complet de la sortida acaba en una única línia.

Vegeu la sintaxi per utilitzar-la:

Sintaxi

La forma clàssica de substituir ordres en una variable o substitució d'ordres és utilitzar cometes inverses (`...`), tal com es mostra a continuació:

 variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command` 

Ara, fem la substitució d'ordres tancant les ordres entre claudàtors (precedits pel signe de dòlar ($)). Fes un cop d'ull:

 variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command) 

Per tant, fem la substitució d'ordres amb un exemple segons la discussió.

En aquest exemple, estem substituint una comanda ls en una variable. Veure el terminal.

Variables Bash

Línia 1: Sense substitució d'ordres, la sortida s'amplia en diverses línies.

Línia 2 i 3: Amb la substitució d'ordres, la sortida s'acaba en una única línia (espai estalviat eliminant les noves línies).

A continuació es mostra l'script Bash per provar la substitució d'ordres.

Programa:

 #! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult 

Vegeu la consola Bash:

Variables Bash

Sortida:

Variables Bash