Mengubah pembolehubah baca sahaja
![](http://img.brin-designs.com/img/games/173/modifying-read-only-variable.png)
Penyelesaian 1
Pembolehubah yang diisytiharkan sebagai baca sahaja tidak boleh diubah suai semasa proses keluar.
Tetapi jika pembolehubah dieksport dalam kulit kanak-kanak, ia boleh diubah suai.
#! / bin / bash jika ["$ PROC_PID"! = "$ PPID"]; kemudian eksport PROC_PID = $$ var = "mype" echo "awal $ var" mengisytiharkan -r var eksport dan $ 0 & # anak proses lain echo "sebelum $ var" var = "netty5" echo "after $ var" fi
Penyelesaian 2
Menggunakan pembangunan tidak langsung.
# Pengisytiharan pembaca yang mudah dibaca $ readonly Z = "Y" $ echo $ ZY # Ujian penindasan $ unset Z -l: unset: Z: tidak dapat diset semula: pembolehubah readonly # Ujian Penggantian $ Z = W -l: Z: pembolehubah readonly # Pengisytiharan pembolehubah tidak langsung $ Y = W $ echo "$ Y" W # Perkembangan pemboleh ubah dengan indireksi $ echo "$ {! Z}" W $