Le variabili sono la parte essenziale della programmazione, o possiamo dire che sono lo spirito di un linguaggio di programmazione. Le variabili specificano la posizione di memoria tramite caratteri, numerici e alfanumerici. Vengono utilizzati per essere referenziati e manipolati in un programma per computer.
Quali sono le variabili?
Le variabili sono i contenitori che memorizzano dati o informazioni utili come valore al loro interno. Di seguito è riportata la sintassi di una variabile:
Variable_name =value
Una variabile è una forma combinata di due parole, ovvero variable + able, il che significa che il suo valore può essere modificato e può essere utilizzato più volte.
numero primo java
La variabile è nota come memoria temporanea per qualsiasi tipo di dati come numeri interi, float, caratteri, ecc. Un nome di variabile può includere alfabeti, cifre e carattere di sottolineatura e il suo nome può iniziare solo con lettere dell'alfabeto e trattini bassi.
Nota: non è possibile definire un nome di variabile che inizi con qualsiasi cifra.
Cosa sono le variabili Bash?
Non possiamo usare le variabili bash senza avere le informazioni corrette ( sintassi, tipi di dati, tipi, funzionamento ) a riguardo, quindi procediamo in questo breve tutorial per avere la panoramica appropriata delle variabili Bash.
Innanzitutto, conosci la sintassi.
Sintassi:
Variable_name=value
Regole impostate per definire le variabili Bash:
- Anteporre al nome della variabile il segno del dollaro ($) durante la lettura o la stampa di una variabile.
- Lascia fuori il simbolo del dollaro ($) mentre imposti una variabile con qualsiasi valore.
- Il nome di una variabile può essere alfanumerico oppure può essere scritto con un carattere di sottolineatura (_).
- Il nome di una variabile fa distinzione tra maiuscole e minuscole: x e X sono considerate due variabili diverse.
- il nome della variabile può essere scritto in lettere MAIUSCOLE o MINUSCOLE o in una combinazione di entrambe, a seconda delle esigenze.
- Una variabile può essere posizionata ovunque in uno script Bash o sulla riga di comando, perché in fase di esecuzione Bash la sostituirà con il valore assegnato. È diventato possibile perché è stata eseguita la sostituzione prima di eseguire il comando.
- Non dovrebbero esserci spazi bianchi su entrambi i lati del segno uguale (=) tra il nome della variabile e il suo valore. Di seguito sono riportati alcuni esempi di Variabili non valide con spazi bianchi (indicati da punti ...) tra di loro come indicato di seguito:
var1=...variabile1
var2...=variabile2
var3...=...variabile3 - Non è necessario utilizzare virgolette, singole o doppie, per definire una variabile con valore a carattere singolo come var1=variabile . Per inserire più parole o stringhe come un singolo elemento in una variabile, utilizza le virgolette per racchiudere il contenuto in quella variabile.
- La virgoletta singola ('') aiuta a trattare ogni carattere.
- Le doppie virgolette ('') aiutano a fare la sostituzione.
Tipi di dati
Nei linguaggi di programmazione formali, è necessario definire il tipo di dati di qualsiasi variabile al momento della dichiarazione della variabile. Per esempio:
int year=2012 char comp_name='jtp'
Ma nel caso di Bash, non è necessario definire il tipo di dati di alcuna variabile al momento della dichiarazione della variabile. Le variabili Bash lo sono non tipizzato , il che significa che basta digitare il nome della variabile assegnandone il valore e prenderà automaticamente in considerazione quel tipo di dati.
In modo tale che se assegni un valore numerico alla variabile, funzionerà come intero e se assegni un valore di carattere alla variabile, allora sarà String.
year=2012 comp_name=jtp
usando il comando echo, leggili assegnando il segno $ prima del loro nome come
eco $ anno
echo $nome
Tipi di variabili Bash
Esistono due tipi di variabili in una shell o in qualsiasi sistema UNIX.
- Variabili definite dal sistema
- Variabili definite dall'utente
1. Variabili definite dal sistema: Queste sono le variabili predefinite così come vengono create e gestite dallo stesso sistema operativo LINUX. La loro convenzione standard è che generalmente sono definiti in lettere maiuscole, cioè MAIUSCOLO. Quindi ogni volta che vedi una variabile definita in maiuscolo, molto probabilmente, si tratta di variabili definite dal sistema.
Queste sono le seguenti variabili definite dal sistema come indicato di seguito:
1. BASH rappresenta il nome della shell.
Esempio:
BASH=/usr/bin/bash
2. BASH_VERSIONE specifica la versione della shell conservata da Bash.
Esempio:
BASH_VERSION=4.2.46(2)
3. COLONNE specificare il n. di colonne per il nostro schermo.
Esempio:
COLUMNS=80
4. CASA specifica la directory home dell'utente.
Esempio:
HOME=/home/jatpoint
5. NOME LOG specifica il nome utente di registrazione.
Esempio:
LOGNAME=javatpoint
6. OSTIPO indica il tipo di sistema operativo.
Esempio:
OSTYPE=linux-gnu
7. PWD rappresenta la directory di lavoro corrente.
Esempio:
PWD=/home/javatpoint
8. NOME UTENTE specifica il nome dell'utente attualmente connesso.
Esempio:
USERNAME=javatpoint
Per conoscere l'elenco di queste variabili nel tuo sistema, digita i comandi impostare, avv , E printenv sul terminale della riga di comando come segue:
1. Digitando il impostato comando.
Produzione:
2. Digitando il ambiente comando
Produzione:
3. Digitando il comando printenv
Produzione:
Chiamiamo queste variabili tramite Bash Shell. Di seguito sono riportati i passaggi indicati:
Passo 1: Crea uno script denominato Bash_sdvar e digita il seguente codice sulla console Bash come segue:
#! /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
Passo 2. Guarda la console Bash indicata di seguito:
Passaggio 3. Salva ed esegui lo script. Mostrerà l'output come puoi vedere nella figura riportata di seguito.
Produzione:
2. Variabili definite dall'utente: Queste variabili vengono create e gestite dall'utente. Generalmente, questi tipi di variabili sono definiti in LOWER_CASES. Non esiste una regola rigida per scrivere queste variabili in minuscolo. Possiamo scriverli anche in maiuscolo.
Creiamo uno script Bash per definire queste variabili. Seguire i passaggi indicati di seguito:
Passo 1. Crea uno script denominato da bash_yard e digita il seguente codice su 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.'
Passo 2. Vedi il codice su Bash Console.
Passaggio 3. Salva ed esegui lo script.
Produzione:
Funzionamento delle variabili Bash
Dopo aver avuto una dimostrazione di base delle variabili, passiamo a sapere come funzionano?
Ci sono due azioni che solitamente eseguiamo per una variabile in Bash, come indicato di seguito:
- impostando un valore per una variabile
- leggendo il valore per questo.
Un valore di variabile può essere impostato in diversi modi, il più comune dei quali è impostare direttamente il valore. Per leggere una variabile, possiamo inserire il suo nome (prefissando il segno $) in un punto qualsiasi dello script.
Bash controlla innanzitutto tutti i nomi delle variabili come se fossero presenti nello script. Quindi interpreta ogni riga del nostro script. Dopo aver identificato ogni variabile, sostituisce il nome di una variabile con il valore assegnato. Dopotutto, interpreta/esegue quella riga di codice e continua questo processo per ogni riga codificata del nostro script.
NOTA: entrambi i tipi di variabili in Bash (di cui abbiamo discusso) funzionano sia sul terminale che sullo script Bash. Vediamo il loro funzionamento sul terminale e su Bash attraverso un semplice esempio:
Esempio: Chiama un nome utente tramite XYZ, la posizione in cui sta attualmente lavorando e la versione di Bash Shell che sta utilizzando per Bash Scripting.
1. Lavorare sul terminale
2. Lavorare su Bash Shell
Vedi lo script nominato da Bash_Var indicato di seguito:
Nel 3rdriga della sceneggiatura , abbiamo dichiarato una variabile NOME UTENTE per memorizzare il nome utente XYZ come il suo valore.
Nelle ultime due righe , abbiamo stampato il messaggio previsto utilizzando il file eco comando.
Ci sono due variabili e un comando in questo messaggio. Ognuno di essi è preceduto dal segno del dollaro ($) dove:
Per una migliore comprensione, crea questo script seguendo il codice fornito:
#! /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.
Mostrerà l'output come puoi vedere nella seguente immagine:
Produzione:
Ci sono altri esempi per esercitarsi con le variabili sia sul terminale che su Bash Shell. Seguendo il insieme di regole (discusso prima) fare pratica sulle variabili come segue:
A. Utilizzando il terminale della riga di comando
1. Impostazione delle variabili
2. Lettura e riferimento alle variabili
3. Variabili non valide
4. Combinazione di due variabili stringa
5. Concatenazione di stringhe con variabili
NOTA: non utilizzare virgolette singole per combinare due variabili e anche per concatenare stringhe con variabili. In modo tale che se concateni le stringhe racchiudendole tra virgolette singole, sarà un errore leggerle come puoi vedere nell'immagine fornita di seguito:
B. Utilizzo dello script Bash:
Ne è un esempio combinando le variabili String.
Produzione:
Argomenti della riga di comando
Gli argomenti della riga di comando vengono utilizzati per rendere uno script più dinamico passando l'input al codice. Passiamo questi argomenti in fase di esecuzione dello script nella forma seguente:
./script_name arg1 arg2 arg3.....
Non dovrebbe esserci spazio tra il nome dello script e tutti gli argomenti passati.
Come utilizzare gli argomenti della riga di comando?
In una shell Bash, vengono utilizzati con il riferimento ai seguenti parametri predefiniti o alle variabili speciali.
Di seguito sono riportati i due metodi che utilizziamo per passare gli argomenti della riga di comando:
Metodo 1: utilizzo del numero di posizione
È il primo modo per accedere agli argomenti utilizzando i parametri predefiniti (...). L'immagine sotto lo spiega:
Produzione:
Metodo 2: utilizzo dell'array.
È il secondo modo di passare gli argomenti come Array. Segui l'algoritmo fornito per applicare questo metodo.
Passo 1: Crea uno script Bash.
Passo 2: Dichiara qualsiasi nome di variabile e assegnane il valore come $a nella seguente forma:
variable_name=('$@')
Dove $@ è l'argomento predefinito che viene utilizzato per memorizzare gli argomenti (passiamo) come un array.
Passaggio 3: Visualizza gli argomenti definendo il loro indice di array nel seguente formato:
${variable_name[i]}
Passaggio 4: Salva e chiudi lo script.
Passaggio 5: Esegui lo script passando gli argomenti.
Vedi il seguente programma:
Programma:
#!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]}
Sulla console Bash:
Produzione:
Sostituzione dei comandi
Secondo la documentazione ufficiale di Bash
'La sostituzione del comando consente all'output di un comando di sostituire il comando stesso. Bash esegue l'espansione eseguendo il comando in un ambiente subshell e sostituendo la sostituzione del comando con l'output standard del comando, con eventuali ritorni a capo finali eliminati. I ritorni a capo incorporati non vengono eliminati, ma potrebbero essere rimossi durante la suddivisione delle parole.'
La sostituzione dei comandi si riferisce a un'espansione che Bash esegue per noi. Prende l'output del comando Bash, lo memorizza in una variabile (generalmente) e lo visualizza con echo.
Sostituzione dei comandi offre flessibilità dei dati per quanto riguarda lo scripting e l'assegnazione delle variabili. È semplice e facile avere l'output della riga di comando singolo. Nel caso in cui l'output si estenda su poche righe, le nuove righe finali vengono rimosse e l'intero contenuto dell'output finisce su un'unica riga.
Vedi la sintassi per l'uso:
Sintassi
La forma classica di sostituzione dei comandi in una variabile o sostituzione di comandi utilizza le virgolette inverse (`...`), come indicato di seguito:
variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command`
Ora eseguiamo la sostituzione dei comandi racchiudendo i comandi tra parentesi quadre (preceduti dal segno del dollaro ($)). Dare un'occhiata:
variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command)
Quindi, eseguiamo la sostituzione dei comandi con un esempio come da discussione.
In questo esempio, stiamo sostituendo il singolo comando ls in una variabile. Vedi il terminale.
Linea 1: Senza la sostituzione dei comandi, l'output viene espanso su più righe.
Linea 2 e 3: Con la sostituzione del comando, l'output termina su una singola riga (spazio risparmiato rimuovendo le nuove righe finali).
Di seguito è riportato lo script Bash per testare la sostituzione del comando.
Programma:
#! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult
Vedi la console Bash:
Produzione: