'Birthday Bash' FULL SONG with LYRICS | Yo Yo Honey Singh, Alfaaz | Dilliwaali Zaalim Girlfriend
Mục lục:
Hàm Bash về cơ bản là một tập hợp các lệnh có thể được gọi nhiều lần. Mục đích của một chức năng là giúp bạn làm cho các tập lệnh bash của bạn dễ đọc hơn và để tránh viết cùng một mã nhiều lần.
So với hầu hết các ngôn ngữ lập trình, các hàm Bash có phần hạn chế. Trong hướng dẫn này, chúng tôi sẽ trình bày những điều cơ bản về các hàm Bash và chỉ cho bạn cách sử dụng chúng trong các tập lệnh shell của bạn.
Tuyên bố hàm Bash
Cú pháp khai báo hàm bash rất đơn giản. Chúng có thể được khai báo theo hai định dạng khác nhau:
-
Định dạng đầu tiên bắt đầu bằng tên hàm, theo sau là dấu ngoặc đơn. Đây là định dạng ưa thích và được sử dụng nhiều hơn.
function_name () { commands }Phiên bản đơn dòng:
function_name () { commands; }Định dạng thứ hai bắt đầu với từ dành riêng cho
functiontheo sau là tên hàm.function function_name { commands }Phiên bản đơn dòng:
function function_name { commands; }
Một số điểm cần lưu ý:
- Danh sách lệnh giữa các dấu ngoặc nhọn
{}là phần thân của hàm. Các dấu ngoặc nhọn bao quanh thân hàm phải được tách biệt khỏi thân bằng khoảng trắng hoặc dòng mới. Xác định hàm không thực hiện nó. Để gọi hàm bash, chỉ cần sử dụng tên hàm. Các lệnh giữa các dấu ngoặc nhọn được thực thi bất cứ khi nào hàm được gọi trong tập lệnh shell. Định nghĩa hàm phải được đặt trước bất kỳ lệnh gọi nào đến hàm. Khi sử dụng các hàm đơn giản, nén một dòng phải tuân theo lệnh cuối cùng trong hàm. Bạn nên luôn cố gắng giữ tên mô tả của mình.
Để hiểu rõ hơn về điều này, hãy xem ví dụ sau:
~ / xin chào.world.sh
#!/bin/bash hello_world () { echo 'hello, world' } hello_world
Hãy phân tích từng dòng mã:
- Trong dòng
3chúng ta sẽ xác định hàm bằng cách đặt tên cho nó và mở dấu ngoặc nhọn{đánh dấu sự bắt đầu của thân hàm.ine4là thân hàm. Phần thân hàm có thể chứa nhiều lệnh và khai báo biến.ine5, dấu ngoặc nhọn đóng}, xác định phần cuối của hàmhello_worlddòng7chúng ta đang thực thi hàm. Bạn có thể thực thi chức năng nhiều lần bạn cần.
Nếu bạn chạy tập lệnh, nó sẽ in
hello, world
.
Phạm vi biến
Biến toàn cục là các biến có thể được truy cập từ bất kỳ đâu trong tập lệnh bất kể phạm vi. Trong Bash, tất cả các biến theo mặc định được định nghĩa là toàn cục, ngay cả khi được khai báo bên trong hàm.
Các biến cục bộ có thể được khai báo trong thân hàm với từ khóa
local
và chỉ có thể được sử dụng bên trong hàm đó. Bạn có thể có các biến cục bộ có cùng tên trong các hàm khác nhau.
Để minh họa rõ hơn cách phạm vi biến hoạt động trong Bash, hãy xem xét một ví dụ:
~ / biến_scope.sh
#!/bin/bash var1='A' var2='B' my_function () { local var1='C' var2='D' echo "Inside function: var1: $var1, var2: $var2" } echo "Before executing function: var1: $var1, var2: $var2" my_function echo "After executing function: var1: $var1, var2: $var2"
Kịch bản bắt đầu bằng cách xác định hai biến toàn cục
var1
và
var2
. Sau đó, một hàm đặt biến cục bộ
var1
và sửa đổi biến toàn cục
var2
.
Before executing function: var1: A, var2: B Inside function: var1: C, var2: D After executing function: var1: A, var2: D
Từ đầu ra ở trên, chúng ta có thể kết luận rằng:
- Nếu bạn đặt một biến cục bộ bên trong thân hàm có cùng tên với một biến toàn cục hiện có, thì nó sẽ được ưu tiên hơn biến toàn cục. Biến toàn phần có thể được thay đổi từ bên trong hàm.
Giá trị trả về
Không giống như các hàm trong các ngôn ngữ lập trình của Real real, các hàm Bash không cho phép bạn trả về một giá trị khi được gọi. Khi hàm bash hoàn thành, giá trị trả về của nó là trạng thái của câu lệnh cuối cùng được thực thi trong hàm,
0
cho thành công và số thập phân khác không trong phạm vi 1 - 255 cho thất bại.
Trạng thái trả về có thể được chỉ định bằng cách sử dụng từ khóa
return
và nó được gán cho biến
$?
. Câu lệnh
return
kết thúc hàm. Bạn có thể coi nó là trạng thái thoát của hàm.
#!/bin/bash my_function () { echo "some result" return 55 } my_function echo $?
some result 55
Để thực sự trả về một giá trị tùy ý từ một hàm, chúng ta cần sử dụng các phương thức khác. Tùy chọn đơn giản nhất là gán kết quả của hàm cho biến toàn cục:
~ / return_values.sh
#!/bin/bash my_function () { func_result="some result" } my_function echo $func_result
some result
Một tùy chọn khác, tốt hơn để trả về giá trị từ hàm là gửi giá trị đến
stdout
bằng echo hoặc
printf
như hiển thị bên dưới:
#!/bin/bash my_function () { local func_result="some result" echo "$func_result" } func_result="$(my_function)" echo $func_result
some result
Thay vì chỉ thực hiện chức năng sẽ in thông báo ra thiết bị xuất chuẩn, chúng tôi đang gán đầu ra chức năng cho biến
func_result
bằng cách sử dụng thay thế lệnh
$()
. Biến sau này có thể được sử dụng khi cần thiết.
Truyền các đối số cho các hàm Bash
Để chuyển bất kỳ số lượng đối số nào cho hàm bash, chỉ cần đặt chúng ngay sau tên của hàm, cách nhau bằng khoảng trắng. Đó là một thực tiễn tốt để trích dẫn hai lần các đối số để tránh hiểu sai về một đối số có khoảng trắng trong đó.
- Các tham số được truyền là
$1,$2,$3,$3, tương ứng với vị trí của tham số sau tên của hàm. Biến$0được dành riêng cho tên của hàm. Biến$#giữ số lượng tham số / đối số vị trí được truyền cho Các hàm$*và$@giữ tất cả các tham số / đối số vị trí được truyền cho hàm.- Khi trích dẫn kép,
"$*"mở rộng thành một chuỗi được phân tách bằng dấu cách (ký tự đầu tiên của IFS) -"$1 $2 $n". Khi được trích dẫn gấp đôi,"$@"sẽ mở rộng thành các chuỗi riêng biệt -"$1" "$2" "$n". Khi không được trích dẫn gấp đôi,$*và$@là như nhau.
- Khi trích dẫn kép,
Đây là một ví dụ:
~ / Pass_argument.sh
#!/bin/bash greeting () { echo "Hello $1" } greeting "Joe"
Phần kết luận
Hàm Bash là một khối mã có thể tái sử dụng được thiết kế để thực hiện một hoạt động cụ thể. Sau khi xác định, hàm có thể được gọi nhiều lần trong một tập lệnh.
Bạn cũng có thể muốn đọc về cách sử dụng hàm Bash để tạo một lệnh tắt dễ nhớ cho lệnh dài hơn.
thiết bị đầu cuối bashCác fan hâm mộ của Sony Cảm ơn những người hâm mộ Blu-ray
Giám đốc điều hành Sony, Howard Stringer, thừa nhận sức mạnh của Warner Bros khi chọn đĩa Blu-ray trên HD DVD
Một nhân viên của Google làm việc trên hệ điều hành điện thoại di động Android đã gây ra một lời phỉ báng với một số nhà phát triển nói rằng họ đã có đủ và dự định tập trung nỗ lực vào iPhone thay vì Android. P> David McLaughlin, Người ủng hộ Android tại Google, đã xin lỗi trên một diễn đàn trực tuyến vì vô tình gửi một giấy báo dành cho những người chiến thắng trong cuộc thi của một nhà phát triển cho một danh sách rộng lớn các nhà phát triển. Lưu ý này hàm ý rằng Google đã cung cấp riên
Google có nguy cơ mất nhà phát triển cũng như cạnh tranh cho sự chú ý của họ đang nóng lên. Các nhà phát triển bây giờ có thể xây dựng các ứng dụng cho iPhone phổ biến của Apple. Trong khi Android của Google thu hút sự phấn khích đáng kể khi nó được đưa ra, gần đây nó đã bị chỉ trích vì quá trình phát triển chậm.
Hơn 400 người hâm mộ Apple đã xếp hàng sáng thứ bảy - một số xếp hàng từ đêm thứ sáu - để trở thành một trong số những khách hàng đầu tiên khai trương cửa hàng Apple Store đầu tiên của Trung Quốc ở Bắc Kinh.
ĐốI với người dùng Apple ở Bắc Kinh, việc mở cửa là sự kết thúc của sự chờ đợi bắt đầu khi Apple ra mắt các cửa hàng bán lẻ chuyên dụng vào năm 2001. David Feng, người đứng đầu Tập đoàn Người dùng Macintosh ở Bắc Kinh, bắt đầu cắm trại lúc 9 giờ tối giờ địa phương đêm thứ sáu, đặt anh ta thứ sáu trong đường dây. Ông Zhang Youdai, một DJ của Đài phát thanh Bắc Kinh và người sử dụng Apple, đã đến đây không lâu, khoảng 50 người đã đợi qua đêm, với vài trăm người đến trước khi khai mạc, ông nói. "Ap







