Làm cách nào để tạo cả biến số local
và declare -r
(chỉ đọc) trong bash?Làm thế nào để tạo một biến chỉ đọc cục bộ trong bash?
Nếu tôi làm:
function x {
declare -r var=val
}
Sau đó, tôi chỉ đơn giản là có được một toàn cầu var
đó là read-only
Nếu tôi làm:
function x {
local var=val
}
Nếu tôi làm:
function x {
local var=val
declare -r var
}
Sau đó, tôi nhận được toàn cầu một lần nữa (tôi có thể truy cập var
từ các chức năng khác).
Làm cách nào để kết hợp cả địa phương và chỉ đọc trong bash?
'declare' được ghi lại là khai báo một biến cục bộ, trừ khi bạn yêu cầu một cách rõ ràng một biến toàn cục bằng cách thiết lập cờ' -g'. Tôi vừa thử nghiệm trên hệ thống của riêng mình và nó hoạt động như được ghi lại. Bạn có thể làm rõ lý do tại sao bạn tin rằng đây không phải là trường hợp? – ruakh