Trong các shell khác với zsh, bạn cần thực hiện một phép gán trung gian bất cứ khi nào bạn muốn thực hiện nhiều phép biến đổi trên một giá trị.
Tất nhiên, đôi khi có một số cách giải quyết, chẳng hạn như chạy lệnh tạo ra kết quả mong muốn mà không cần xử lý hậu kỳ hoặc thực hiện hậu xử lý qua đường ống thông qua một công cụ bên ngoài (giải pháp đường ống sẽ chậm hơn và có nguy cơ xáo trộn dòng mới hơn).
Nếu bạn muốn làm cho biến chỉ đọc, bạn có thể thấy nó sạch hơn để gán cho một biến tạm thời.
tmp=$(/bin/hostname)
typeset -r SHORT_HOST="${tmp%%.*}"
Zsh (nhưng không phải ksh hoặc bash) hỗ trợ thay thế tham số lồng nhau. Ở đó, bạn có thể viết
typeset -r SHORT_HOST=${$(/bin/hostname)%%.*}