Làm thế nào để trả về một chuỗi từ các hàm Bash

How Return String From Bash Functions



Hàm Bash không thể trả về giá trị như các ngôn ngữ lập trình tiêu chuẩn khác. Các hàm Bash hỗ trợ câu lệnh trả về nhưng nó sử dụng cú pháp khác để đọc giá trị trả về. Bạn có thể lấy giá trị từ các hàm bash theo nhiều cách khác nhau. Trong hướng dẫn này, bạn sẽ tìm hiểu cách truyền dữ liệu chuỗi từ hàm bash đến trình gọi bằng cách sử dụng các loại cú pháp bash khác nhau. Mở trình soạn thảo văn bản để kiểm tra các ví dụ về hàm bash sau đây để hiểu cách các giá trị chuỗi hoặc số có thể được trả về từ các hàm bash.

Ví dụ-1: Sử dụng biến toàn cục

Hàm Bash có thể trả về một giá trị chuỗi bằng cách sử dụng một biến toàn cục. Trong ví dụ sau, một biến toàn cục, ‘ kiểm tra lại ' Được sử dụng. Một giá trị chuỗi được gán và in trong biến toàn cục này trước và sau khi gọi hàm. Giá trị của biến toàn cục sẽ được thay đổi sau khi gọi hàm. Đây là một cách trả về giá trị chuỗi từ một hàm bash.







hàm sốF1()
{
sự kiểm tra lại='Tôi thích lập trình'
}

sự kiểm tra lại='Tôi ghét lập trình'
quăng đi $ retval
F1
quăng đi $ retval

Tạo một tệp bash có tên func1.sh với đoạn mã trên và chạy tập lệnh từ thiết bị đầu cuối. Ở đây, đầu ra ‘ Tôi thích lập trình 'Được gán và in sau khi gọi hàm.





Ví dụ-2: Sử dụng Lệnh Hàm

Bạn có thể nhận giá trị trả về của một hàm bash và lưu trữ nó trong một biến tại thời điểm gọi. Trong ví dụ sau, một biến cục bộ, sự kiểm tra lại được sử dụng và giá trị của biến cục bộ được trả về bởi hàm F2 được chỉ định trong một biến toàn cục, getval được in sau.





hàm sốF2()
{
địa phương sự kiểm tra lại='Sử dụng chức năng BASH'
quăng đi '$ retval'
}

getval= $(F2)
quăng đi $ getval

Tạo một tập lệnh bash có tên func2.sh với đoạn mã trên và chạy tập lệnh.




Ví dụ-3: Sử dụng biến

Trong ví dụ sau, giá trị trả về của hàm được đặt dựa trên biến đối số của hàm. Ở đây, một giá trị được truyền cho hàm F3 bằng cách sử dụng một biến đối số, getval1 tại thời điểm gọi hàm. Sau khi kiểm tra câu lệnh điều kiện, giá trị trả về được gán và in ra.

hàm sốF3()
{
địa phương arg1=$ 1

nếu như [[ $ arg1 !='' ]];
sau đó
sự kiểm tra lại='Hàm BASH với biến'
khác
quăng đi 'Không tranh luận'
thì là ở
}

getval1='Hàm Bash'
F3$ getval1
quăng đi $ retval
getval2= $(F3)
quăng đi $ getval2

Tạo một tập lệnh bash có tên func3.sh với đoạn mã trên và chạy tập lệnh.

Ví dụ-4: Sử dụng Báo cáo trả hàng

Hầu hết các ngôn ngữ lập trình tiêu chuẩn sử dụng câu lệnh return để trả về một giá trị từ hàm. Các giá trị hàm được trả về mà không cần sử dụng bất kỳ câu lệnh trả về nào trong các ví dụ trên. Trong ví dụ sau, câu lệnh return được sử dụng để trả về một giá trị số từ hàm F4 . Ở đây, $? được sử dụng để đọc giá trị 35 được trả về bởi hàm bằng cách sử dụng trở lại tuyên bố.

hàm sốF4() {
quăng đi 'Tuyên bố hoàn trả tiền mặt'
trở lại 35
}

F4
quăng đi 'Giá trị trả về của hàm là $?'

Tạo một tập lệnh bash có tên func4.sh với đoạn mã trên và chạy tập lệnh.

Bạn có thể sử dụng các hàm bash theo nhiều cách khác nhau để trả về bất kỳ giá trị chuỗi hoặc số nào sau khi gọi hàm. Để biết thêm thông tin vui lòng xem video !