Tutorial Shell? Variable Variabel shell Terbaik Pada tahun 2024, Dalam tutorial ini Anda dapat mempelajari shell tali,shell Array,shell Catatan,
Ketika anda mendefinisikan suatu variabel, nama variabel tanpa tanda dolar ($, variabel bahasa PHP diperlukan), seperti:
your_name="w3write.com"
Perhatikan bahwa tidak ada ruang antara nama variabel dan tanda sama, yang mungkin asing bagi Anda dan semua bahasa pemrograman yang tidak sama. Sementara itu, nama variabel harus mengikuti aturan penamaan ini:
Selain eksplisit tugas langsung, Anda dapat juga memberikan nilai pada variabel dengan pernyataan seperti:
for file in `ls /etc`
Di atas pernyataan itu nama file / etc direktori dari peredaran.
Menggunakan variabel didefinisikan, asalkan nama variabel diawali dengan tanda dolar, seperti ini:
your_name="qinjx" echo $your_name echo ${your_name}
nama variabel di luar kurung kurawal adalah opsional, ditambah tanpa hak semua, menambahkan kawat gigi untuk membantu menjelaskan variabel identifikasi batas, seperti kasus berikut:
for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done
Jika Anda tidak memberikan variabel keterampilan ditambah kawat gigi, ditulis echo "Saya baik di $ skillScript", penafsir akan menempatkan $ skillScript sebagai variabel (nilai kosong), eksekusi kode bukanlah hasil yang kita harapkan sama lagi.
Beritahu semua variabel kawat gigi, itu adalah praktek pemrograman yang baik.
variabel didefinisikan, dapat ditetapkan kembali, seperti:
your_name="tom" echo $your_name your_name="alibaba" echo $your_name
Menulis adalah legal, tetapi perhatikan bahwa ketika tugas kedua tidak bisa menulis $ your_name = "Alibaba", menggunakan variabel ketika ditambahkan ke tanda dolar ($).
Gunakan perintah variabel readonly dapat didefinisikan sebagai baca-satunya variabel, nilai read-only variabel tidak dapat diubah.
Contoh berikut mencoba untuk mengubah variabel read-only, hasil yang diberikan:
#!/bin/bash myUrl="" readonly myUrl myUrl="http://www.w3write.com"
Jalankan script dengan hasil sebagai berikut:
/bin/sh: NAME: This variable is read only.
Gunakan perintah unset untuk menghapus variabel. sintaks:
unset variable_name
Variabel tidak dapat digunakan kembali setelah dihapus. perintah unset tidak dapat menghapus variabel read-only.
contoh
#!/bin/sh myUrl="http://www.w3write.com" unset myUrl echo $myUrl
Contoh pelaksanaan atas tidak akan memiliki output.
Ketika Anda menjalankan shell, akan ada tiga parameter secara simultan:
pemrograman String shell adalah tipe data yang paling umum dan berguna (kecuali angka dan string, juga tidak memiliki jenis lain berguna), string dapat tertutup dalam tanda kutip tunggal, tanda kutip ganda juga dapat digunakan, atau mungkin tidak dalam tanda kutip. Perbedaan antara tanda kutip tunggal dan ganda dengan PHP mirip.
str='this is a string'
Single-dikutip string pembatasan:
your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"
Ganda mengutip keuntungan:
your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
string="abcd" echo ${#string} #输出 4
Berikut contoh dari dua string karakter pertama mulai menangkap empat karakter:
string="w3big is a great site" echo ${string:1:4} # 输出 unoo
Menemukan karakter "i atau s" Posisi:
string="w3big is a great company" echo `expr index "$string" is` # 输出 8
Catatan: di atas script "` "anti-kutipan daripada tanda kutip tunggal" ' "Jangan tertipu, oh.
pesta mendukung array satu dimensi (tidak mendukung array multidimensi), dan tidak menentukan ukuran array.
Mirip dengan bahasa C, subscript dari elemen array dari nomor 0 mulai. Akan array elemen untuk mengambil keuntungan dari subscript itu, subscript mungkin integer atau ekspresi aritmatika yang nilainya harus lebih besar dari atau sama dengan 0.
Di Shell, menggunakan tanda kurung untuk menunjukkan array, elemen array dengan "ruang" simbol dipisahkan. Bentuk umum dari array didefinisikan sebagai berikut:
数组名=(值1 值2 id. 值n)
Sebagai contoh:
array_name=(value0 value1 value2 value3)
atau
array_name=( value0 value1 value2 value3 )
Anda juga dapat menentukan secara terpisah untuk masing-masing komponen dari array:
array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen
Anda tidak dapat menggunakan indeks terus menerus, dan tidak ada batasan di bawah kisaran target.
Format umum membaca nilai elemen array:
${数组名[下标]}
Sebagai contoh:
valuen=${array_name[n]}
Gunakan simbol @ bisa mendapatkan array dari semua elemen, seperti:
echo ${array_name[@]}
Mendapat array panjang panjang string dan mendapatkan cara yang sama, misalnya:
# 取得数组元素的个数 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]}
Sejalan dengan "#" pada awal komentar, akan diabaikan oleh interpreter.
sh tidak ada multi-line komentar, setiap baris hanya dapat menambahkan tanda #. Hanya seperti ini:
#-------------------------------------------- # 这是一个注释 # author:本教程 # site:www.w3write.com # slogan:学的不仅是技术,更是梦想! #-------------------------------------------- ##### 用户配置区 开始 ##### # # # 这里可以添加脚本描述信息 # # ##### 用户配置区 结束 #####
Jika proses pembangunan, mengalami potongan besar kode perlu komentar sementara setelah beberapa saat dan tanda komentar, bagaimana melakukannya?
Setiap baris menambahkan simbol # terlalu melelahkan, Anda dapat menaruh beberapa kode yang akan dijelaskan dengan sepasang kurung keriting, yang didefinisikan sebagai fungsi, tidak ada tempat untuk memanggil fungsi ini, kode ini tidak akan dieksekusi, dan mencapai sebagai anotasi efek.