Trong các tập lệnh bash, tôi cố gắng giữ các biến của mình cục bộ thành các hàm bất cứ nơi nào tôi có thể và sau đó chuyển những gì tôi cần ra khỏi các hàm như dưới đây
#!/bin/bash
function FUNCTION() {
local LOCAL="value"
echo "$LOCAL" # return this variable
}
GLOBAL=$(FUNCTION)
echo "$GLOBAL"
Nhưng có thể thực hiện việc này trong khi bao gồm tiếng vang riêng của hàm để nếu hàm có thông điệp riêng xuất ra thì tôi không phải bắt chúng trong một biến
#!/bin/bash
function FUNCTION() {
local LOCAL="value"
echo "$LOCAL" # return this variable
echo "This function is done now" # do not return this variable
}
GLOBAL=$(FUNCTION)
echo "$GLOBAL" # should only echo 'value'
function foo()
cú pháp cũ, không phải POSIX ? Bạn có thể có được khả năng tương thích POSIX tốt hơn với 9 keypunches.