Rumah > Tutorial sistem > LINUX > teks badan

5 perangkap biasa tentang pembolehubah dalam Linux Bash Shell

WBOY
Lepaskan: 2024-02-12 22:09:13
ke hadapan
1070 orang telah melayarinya

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).

关于 Linux Bash Shell 中变量的 5 个易错点

Artikel ini akan memberikan anda 5 petua praktikal berdasarkan pengalaman saya. Selepas membacanya, ia boleh membantu anda mengelakkan kesilapan yang tidak perlu.

0. Tidak boleh ada ruang di kedua-dua belah tanda sama

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"
Salin selepas log masuk

Akan ada ralat di sini:

-bash: name: command not found
Salin selepas log masuk

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"
Salin selepas log masuk

1. Tentukan tatasusunan dengan betul

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")
Salin selepas log masuk

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")
Salin selepas log masuk

Bash tidak menganggap koma sebagai pemisah, dan terdapat names 数组中只有一个元素 Yang,Elon,Bill dan bukannya tiga yang dijangkakan.

2.Pilih tanda petikan dengan betul

Apabila kami mengisytiharkan pembolehubah dalam Bash, terdapat 3 pilihan untuk menggunakan petikan:

  • Tiada petikan
  • Gunakan petikan tunggal
  • Gunakan petikan berganda

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, truth1truth2 Apa bezanya?

关于 Linux Bash Shell 中变量的 5 个易错点

如果你打印它们,你会看到 truth1${name} is amazing.。而 truth2Yang is amazing.

总而言之,一对单引号内的字符串将始终被解释为它的本身。

3. 避免在命令中使用反引号

在 Bash 中,我们可以将命令的结果保存到变量中。有两种可能的方法来做到这一点:

  • variable=command“
  • variable=$(command)

例如,要保存 ls 命令的结果,我们可以这样写:

file_list=`ls`
Salin selepas log masuk

或者

file_list=$(ls)
Salin selepas log masuk

但是,这里的最佳实践始终是使用第二种方法,尤其是在编写较长的脚本时。因为反引号单引号看起来很相似,有时你可能会混淆它们。

4. 避免使用特殊名称

一些名称在 Linux 中被预定义为环境变量,如 USERHOMEPATH 等。我们可以使用 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!

sumber:lxlinux.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan