Trong bash 4.2, một biến được khai báo là cục bộ cho hàm nhưng không có giá trị mặc định không cần nhập vào danh sách các biến - ít nhất là liên quan đến 'khai báo -p':
vermicelli$ bash --version | grep release
GNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu)
vermicelli$ bash -c 'f1() { local Y; declare -p Y; }; f1'
declare -- Y
vermicelli$
Tuy nhiên, trong bash 4.3, đây không còn là trường hợp nữa:
lasagne$ bash --version | grep release
GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu)
lasagne$ bash -c 'f1() { local Y; declare -p Y; }; f1'
bash: line 0: declare: Y: not found
lasagne$
Là sự thay đổi hành vi này được ghi nhận ở bất cứ đâu?
Nếu một giá trị mặc định được cung cấp (ví dụ: thay đổi 'cục bộ Y' thành 'cục bộ Y = 42') thì cả hai phiên bản bash đều hoạt động như nhau.
. bất kỳ đề cập đến sự thay đổi trong hành vi này.)