Najlepszy samouczek Shell? Zmienny Zmienne powłoki W 2024 r. W tym samouczku możesz dowiedzieć się Shell ciąg,tablica Shell,Shell Uwagi,
Po zdefiniowaniu zmiennej, nazwy zmiennej bez znaku dolara ($, zmienne języka PHP jest to konieczne), takich jak:
your_name="w3write.com"
Zauważ, że nie ma miejsca pomiędzy zmienną nazwą i znakiem równości, które mogą być znane do ciebie i wszystkich języków programowania nie są takie same. Tymczasem nazwa zmiennej musi przestrzegać tych zasad nazewnictwa:
Ponadto wyraźnie bezpośrednie przypisanie można również przypisać wartości do zmiennych z wypowiedzi, takich jak:
for file in `ls /etc`
Powyższe stwierdzenie nazwa pliku / etc z obiegu.
Użyj określonej zmiennej, tak długo, jak nazwa zmiennej poprzedzoną znakiem dolara, jak poniżej:
your_name="qinjx" echo $your_name echo ${your_name}
Nazwa zmiennej poza nawiasy klamrowe są opcjonalne, a także nie w porządku, dodaj szelki, które pomogą wyjaśnić brzegowe zmiennych identyfikacyjnych, takich jak następującym przypadku:
for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done
Jeśli nie dają zmienne umiejętności plus szelki, napisanych echo "Jestem dobra w $ skillScript", interpreter położy $ skillScript jako zmienną (jej wartość jest pusta), wykonanie kodu, nie jest wynikiem znów oczekiwać tego samego.
Powiadom wszystkich zmiennych szelki, jest to dobra praktyka programowania.
Określonych zmiennych, może być ponownie zdefiniować, na przykład:
your_name="tom" echo $your_name your_name="alibaba" echo $your_name
Zapis jest legalny, ale należy pamiętać, że podczas drugiego zadania nie można zapisać $ twoja_nazwa = "Alibaba", użyć zmiennej, gdy jest on dodawany do znaku dolara ($).
Użyj polecenia zmienne readonly może być zdefiniowany jako tylko do odczytu zmiennej, wartość tylko do odczytu zmiennych nie mogą być zmieniane.
Poniższe przykłady próbować zmienić zmienne tylko do odczytu, którego wyniki zostaną podane:
#!/bin/bash myUrl="" readonly myUrl myUrl="http://www.w3write.com"
Uruchom skrypt z następującymi wynikami:
/bin/sh: NAME: This variable is read only.
Użyj polecenia unset usunąć zmienną. Składnia:
unset variable_name
Zmiennej nie może być użyte ponownie, po czym usunięto. Komenda rozbrojony nie można usunąć zmienne tylko do odczytu.
Przykłady
#!/bin/sh myUrl="http://www.w3write.com" unset myUrl echo $myUrl
Przykłady realizacji powyższych nie będzie miał wyjścia.
Podczas uruchamiania powłoki, będzie jednocześnie trzy parametry:
programowania powłoki String jest najczęściej i użyteczne typy danych (z wyjątkiem liczb i łańcuchów, brakuje również inne rodzaje przydać), łańcuchy mogą być ujęty w apostrofy, cudzysłowy mogą być również wykorzystywane, lub może nie być w cudzysłowie. Różnica między pojedyncze i podwójne cudzysłowy w PHP jest podobny.
str='this is a string'
Pojedyncze cudzysłowów ograniczenia:
your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"
Dwukrotnie cytuje zalety:
your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
string="abcd" echo ${#string} #输出 4
Poniższe przykłady z pierwszych dwóch ciągów znaków rozpocząć przechwytywanie czterech znaków:
string="w3big is a great site" echo ${string:1:4} # 输出 unoo
Znajdź znak "S" I lub stanowisko:
string="w3big is a great company" echo `expr index "$string" is` # 输出 8
Uwaga: Powyższy skrypt "` "anty-cytaty, a nie pojedyncze cudzysłowy" ' "Nie łudźcie się, oh.
bash obsługuje tablicę jednowymiarową (nie obsługuje wielowymiarowe tablice), a nie określić rozmiar tablicy.
Podobnie jak w języku C, a indeks elementów tablicy z numerem 0 startu. Pobiera układu elementów do wykorzystania dolnego indeksu, indeks może być liczbą całkowitą lub wyrażenia arytmetycznego, którego wartość musi być większa niż lub równa 0.
In the Shell, należy użyć nawiasów do oznaczenia tablicy, elementów tablicy z "przestrzeń" symbole oddzielone. Ogólna postać tablicy jest zdefiniowana w następujący sposób:
数组名=(值1 值2 pl. 值n)
Na przykład:
array_name=(value0 value1 value2 value3)
lub
array_name=( value0 value1 value2 value3 )
Można również zdefiniować oddzielnie dla każdego elementu tablicy:
array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen
Nie można korzystać z ciągłego wskaźnik i nie ma żadnych ograniczeń w tym przedziale.
Ogólny format odczytywany jest wartość elementu tablicy:
${数组名[下标]}
Na przykład:
valuen=${array_name[n]}
Użyj symbolu @ można uzyskać tablicę wszystkich elementów, takich jak:
echo ${array_name[@]}
Pobiera tablicę długości długości łańcucha i uzyskać w ten sam sposób, na przykład:
# 取得数组元素的个数 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]}
Line z "#" na początku komentarza, będą ignorowane przez interpreter.
sh nie ma żadnych komentarzy obsługujący kilka linii, każda linia może tylko dodać znak #. Tylko w ten sposób:
#-------------------------------------------- # 这是一个注释 # author:本教程 # site:www.w3write.com # slogan:学的不仅是技术,更是梦想! #-------------------------------------------- ##### 用户配置区 开始 ##### # # # 这里可以添加脚本描述信息 # # ##### 用户配置区 结束 #####
Jeśli proces rozwoju, napotykają duże fragmenty kodu, należy tymczasowo wypowiedzieć się po jakimś czasie i komentarzem, jak to zrobić?
Każdy wiersz dodać symbolu # zbyt pracochłonne, można umieścić jakiś kod, aby być opatrzone parą nawiasów klamrowych, zdefiniowana jako funkcja, nie ma miejsca, aby wywołać tę funkcję, ten kod nie zostanie wykonany, i osiągnął jako adnotacje efekt.