Tôi có một tập lệnh BASH gọi một hàm, gọi các hàm khác:
#!/bin/bash
function foo
{
function bar
{
# do something
}
bar
}
foo
Làm thế nào tôi có thể trở lại từ bar
trực tiếp đến chức năng chính? Trường hợp là bar
xử lý đầu vào của người dùng và nếu nó nhận được câu trả lời phủ định, nó phải quay trở lại chức năng chính, nếu không thì phải quay lại foo
.
Trở về foo
không phải là một vấn đề với một return
tuyên bố đơn giản . Mặt khác, tôi đã thử cái này (mà thực sự hoạt động):
#!/bin/bash
function foo
{
function bar
{
if [negative] # abstract statement
then return 1
else return 0
fi
}
! bar && return
}
foo
Nhưng vì tôi có các chức năng như foo
trải đều trên toàn bộ dự án ( bar
được xác định trong tệp tiêu đề), có cách nào chỉ yêu cầu sửa đổi bar
không? Dự án dài ~ 2k dòng và bao gồm một số tệp, sẽ dễ dàng hơn nhiều nếu có giải pháp.
goto
đáng tiếc.
goto
, không tồn tại trong bash theo như tôi biết.