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ừ bartrực tiếp đến chức năng chính? Trường hợp là barxử 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ề fookhông phải là một vấn đề với một returntuyê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ư footrả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 barkhô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.