Il miglior tutorial Shell? Variabile Variabili Shell Nel 2024, in questo tutorial puoi imparare stringa di Shell,array di Shell,Shell Note,
Quando si definisce una variabile, il nome della variabile senza un segno di dollaro ($, variabili del linguaggio PHP necessari), come ad esempio:
your_name="w3write.com"
Si noti che non vi è spazio tra il nome della variabile e il segno di uguale, che può essere familiare a voi e tutti i linguaggi di programmazione non sono gli stessi. Nel frattempo, il nome della variabile deve seguire queste regole di denominazione:
Oltre a esplicitamente l'assegnazione diretta, è anche possibile assegnare valori a variabili con affermazioni come:
for file in `ls /etc`
La dichiarazione di cui sopra il nome del file / etc dalla circolazione.
Utilizzare una variabile definita, finché il nome della variabile preceduto da un segno di dollaro, in questo modo:
your_name="qinjx" echo $your_name echo ${your_name}
Nome della variabile al di fuori delle parentesi graffe sono opzionali, oltre a non va bene, aggiungere le parentesi graffe per aiutare a spiegare le variabili di identificazione di confine, come ad esempio il caso seguente:
for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done
Se non si danno le variabili di abilità più bretelle, scritte echo "Sono bravo a $ skillScript", l'interprete metterà $ skillScript come variabile (il suo valore è vuoto), l'esecuzione di codice non è il risultato che ci aspettiamo di nuovo lo stesso.
Dillo a tutte le variabili parentesi, si tratta di una buona pratica di programmazione.
variabili definite, possono essere ri-definiti, come ad esempio:
your_name="tom" echo $your_name your_name="alibaba" echo $your_name
Scrivere è legale, ma nota che quando il secondo incarico non può scrivere $ nome = "Alibaba", utilizzare una variabile quando viene aggiunto al simbolo del dollaro ($).
Utilizzare il comando variabili di sola lettura possono essere definite come di sola lettura variabile, il valore di Variabili di lettura non possono essere cambiati.
Gli esempi che seguono cercano di modificare le variabili di sola lettura, i risultati viene data:
#!/bin/bash myUrl="" readonly myUrl myUrl="http://www.w3write.com"
Eseguire lo script con i seguenti risultati:
/bin/sh: NAME: This variable is read only.
Utilizzare il comando unset per eliminare una variabile. sintassi:
unset variable_name
La variabile non può essere riutilizzato dopo essere stato rimosso. comando unset non può rimuovere le variabili di sola lettura.
Esempi
#!/bin/sh myUrl="http://www.w3write.com" unset myUrl echo $myUrl
Esempi di realizzazione di cui sopra non avranno uscita.
Quando si esegue la shell, ci saranno tre parametri simultaneamente:
programmazione della shell stringa è i tipi di dati più comuni e utili (ad eccezione di numeri e stringhe, manca anche altri tipi di utile), le stringhe possono essere racchiuse tra virgolette singole, virgolette doppie possono anche essere utilizzati, o non essere tra virgolette. La differenza tra virgolette singole e doppie virgolette con PHP è simile.
str='this is a string'
Singolo-citati stringhe restrizioni:
your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"
Doppia cita vantaggi:
your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
string="abcd" echo ${#string} #输出 4
I seguenti esempi dei primi due stringhe di caratteri iniziare a catturare quattro personaggi:
string="w3big is a great site" echo ${string:1:4} # 输出 unoo
Trova carattere posizione "I o s":
string="w3big is a great company" echo `expr index "$string" is` # 输出 8
Nota: Lo script precedente "` "anti-citazioni piuttosto che apici" ' "Non lasciatevi ingannare, oh.
bash supporta matrice unidimensionale (non supporta gli array multidimensionali), e non definisce la dimensione della matrice.
Simile al linguaggio C, l'indice di elementi dell'array dal numero 0 di partenza. Ottiene una matrice di elementi di sfruttare il pedice, l'indice può essere un numero intero o un'espressione aritmetica cui valore deve essere maggiore o uguale a 0.
In Shell, usare le parentesi per indicare una matrice, gli elementi dell'array con i simboli "spaziali" separati. La forma generale di un array è definito come segue:
数组名=(值1 值2 it. 值n)
Ad esempio:
array_name=(value0 value1 value2 value3)
o
array_name=( value0 value1 value2 value3 )
È inoltre possibile definire separatamente per ogni componente della matrice:
array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen
Non è possibile utilizzare un indice continuo, e non c'è limite sotto il target di riferimento.
Il formato generale è letta valore elemento dell'array:
${数组名[下标]}
Ad esempio:
valuen=${array_name[n]}
Utilizzare il simbolo @ in grado di ottenere un array di tutti gli elementi, come ad esempio:
echo ${array_name[@]}
Ottiene un array di lunghezze di lunghezza della stringa e ottenere allo stesso modo, ad esempio:
# 取得数组元素的个数 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]}
Line con "#" all'inizio del commento, verrà ignorato dall'interprete.
sh non ci sono commenti multi-linea, ogni linea può aggiungere solo un segno #. Solo in questo modo:
#-------------------------------------------- # 这是一个注释 # author:本教程 # site:www.w3write.com # slogan:学的不仅是技术,更是梦想! #-------------------------------------------- ##### 用户配置区 开始 ##### # # # 这里可以添加脚本描述信息 # # ##### 用户配置区 结束 #####
Se il processo di sviluppo, incontrano grandi blocchi di codice bisogno di commentare temporaneamente dopo un po 'e senza commenti, come farlo?
Ogni riga aggiungere un simbolo # troppo laboriosa, si può mettere un po 'di codice per essere annotati con un paio di parentesi graffe, definita come una funzione, non c'è posto per chiamare questa funzione, questo codice non verrà eseguito, e ha raggiunto come annotazioni effetto.