Bahasa skrip Bash menyokong pembolehubah pengendalian dalam Linux. Walau bagaimanapun, jika anda mempunyai pengalaman pembangunan dalam bahasa pengaturcaraan popular lain, menggunakan Bash untuk mengendalikan pembolehubah mungkin terdedah kepada ralat. Ini kerana sintaksnya berbeza daripada bahasa lain (dan juga agak pelik bagi sesetengah pembangun).
Artikel ini akan memberikan anda 5 petua praktikal berdasarkan pengalaman saya. Selepas membacanya, ia boleh membantu anda mengelakkan kesilapan yang tidak perlu.
Bagi kebanyakan bahasa, seperti Python, menambah ruang di sekeliling tanda sama adalah amalan yang baik kerana ia meningkatkan kebolehbacaan kod.
Tetapi dalam Bash, anda tidak seharusnya menambah ruang tambahan semasa mentakrifkan pembolehubah.
Sebagai contoh, jika saya mengisytiharkan pembolehubah bernama name
seperti ini:
name = "Yang"
Akan ada ralat di sini:
-bash: name: command not found
Seperti yang anda lihat di atas, Bash menganggap name
sebagai arahan dan bukannya pembolehubah kerana saya menambah ruang yang tidak perlu.
Jadi cara yang betul untuk mentakrifkan pembolehubah adalah seperti berikut:
name="Yang"
Mentakrifkan tatasusunan dalam Bash tidaklah sukar. Kita hanya perlu menggunakan sepasang kurungan untuk memasukkan semua elemen, seperti yang ditunjukkan dalam contoh berikut:
names=("Yang" "Elon" "Bill")
Bak kata pepatah, "Perincian menentukan kejayaan atau kegagalan." Saya membuat kesilapan kritikal semasa menulis skrip Bash sebelum ini. Saya biasanya menggunakan koma (bukan ruang) untuk memisahkan setiap elemen dalam tatasusunan.
names=("Yang","Elon","Bill")
Bash tidak menganggap koma sebagai pemisah, dan terdapat names
数组中只有一个元素 Yang,Elon,Bill
dan bukannya tiga yang dijangkakan.
Apabila kami mengisytiharkan pembolehubah dalam Bash, terdapat 3 pilihan untuk menggunakan petikan:
Secara lalai, setiap nilai dalam Bash ialah rentetan. Jadi jika tiada ruang diperlukan, kami tidak perlu menggunakan sebarang petikan. (Sekali lagi, ia agak berbeza daripada bahasa lain di mana anda tidak boleh menentukan rentetan tanpa petikan)
Apabila anda perlu menggunakan petikan, sila ambil perhatian perbezaan antara petikan tunggal dan petikan berganda.
Sebagai contoh, mari kita isytiharkan 3 pembolehubah seperti yang ditunjukkan di bawah. Jadi, truth1
和 truth2
Apa bezanya?
如果你打印它们,你会看到 truth1
是 ${name} is amazing.
。而 truth2
是 Yang is amazing.
。
总而言之,一对单引号内的字符串将始终被解释为它的本身。
在 Bash 中,我们可以将命令的结果保存到变量中。有两种可能的方法来做到这一点:
variable=
command“variable=$(command)
例如,要保存 ls
命令的结果,我们可以这样写:
file_list=`ls`
或者
file_list=$(ls)
但是,这里的最佳实践始终是使用第二种方法,尤其是在编写较长的脚本时。因为反引号和单引号看起来很相似,有时你可能会混淆它们。
一些名称在 Linux 中被预定义为环境变量,如 USER
、HOME
、PATH
等。我们可以使用 printenv
命令列出它们。
显然,我们不应该用与环境变量相同的名称来声明我们的变量。
好消息是 Linux 中所有的环境变量都是用大写字母写的,所以我们可以用小写字母来自定义变量,以区别环境变量。这是一个好习惯。
Atas ialah kandungan terperinci 5 perangkap biasa tentang pembolehubah dalam Linux Bash Shell. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!