Hướng dẫn đơn giản với các ví dụ
Các biến được sử dụng để lưu trữ các giá trị của các kiểu khác nhau trong quá trình thực thi chương trình. Có hai loại biến trong Bash scripting: toàn cục và cục bộ.
Các biến toàn cục có thể được sử dụng bởi tất cả các tập lệnh Bash trên hệ thống của bạn, trong khi các biến cục bộ chỉ có thể được sử dụng trong tập lệnh (hoặc trình bao) mà chúng được định nghĩa.
Các biến toàn cục thường được cung cấp trên hệ thống theo mặc định và chủ yếu là các biến môi trường và cấu hình. Mặt khác, các biến cục bộ do người dùng định nghĩa và có cách sử dụng tùy ý.
Mục Lục
Bash các biến cục bộ
Để tạo một biến, bạn cần gán một giá trị cho tên biến của mình. Bash là một ngôn ngữ không định kiểu, vì vậy bạn không cần phải chỉ ra một kiểu dữ liệu khi xác định các biến của mình.
var1=Hello
Bash cũng cho phép nhiều phép gán trên một dòng:
a=6 b=8 c=9
Cũng giống như nhiều ngôn ngữ lập trình khác, Bash sử dụng toán tử gán = để gán giá trị cho các biến. Điều quan trọng cần lưu ý là không được có bất kỳ khoảng trắng nào ở hai bên của toán tử gán. Nếu không, bạn sẽ gặp lỗi biên dịch.
Một điểm quan trọng khác cần lưu ý: Bash không cho phép bạn xác định một biến trước rồi chỉ định giá trị cho nó sau đó. Bạn phải gán một giá trị cho biến khi tạo.
var2 # compilation error
var2=World
Đôi khi, bạn có thể cần phải gán một chuỗi có khoảng trống trong đó cho biến của bạn. Trong trường hợp như vậy, hãy đặt chuỗi trong dấu ngoặc kép.
# var3=Hello World
# above assignment doesn't work
var3='Hello World'
Lưu ý việc sử dụng các dấu ngoặc kép. Những dấu ngoặc kép này còn được gọi là “dấu ngoặc kép” vì chúng gán giá trị chính xác như khi nó được viết mà không liên quan đến bất kỳ ký tự đặc biệt nào.
Trong ví dụ trên, bạn cũng có thể sử dụng dấu ngoặc kép (“dấu ngoặc kép”), mặc dù điều này không có nghĩa là chúng luôn có thể được sử dụng thay thế cho nhau. Điều này là do dấu ngoặc kép sẽ thay thế các ký tự đặc biệt (chẳng hạn như những ký tự có $), thay vì giải thích chúng theo nghĩa đen.
Xem ví dụ bên dưới:
var4=89
echo "The number is $var4"
echo 'The number is $var4'
# First output prints: 89
# Second output prints leaves "$var4" as it is
Nếu bạn muốn gán đầu ra dòng lệnh cho biến của mình, hãy sử dụng dấu ngoặc kép (“). Họ sẽ coi chuỗi ký tự trong đó như một lệnh đầu cuối và trả về kết quả của nó.
var5="You are currently working in this directory: `pwd`"
Mở rộng tham số trong Bash
Mở rộng tham số chỉ đơn giản là đề cập đến việc truy cập giá trị của một biến. Ở dạng đơn giản nhất, nó sử dụng ký tự đặc biệt $ theo sau là tên biến (không có khoảng trắng ở giữa):
var6=Jack
echo My name is $var6
Bạn cũng có thể sử dụng cú pháp $ {variableName} để truy cập giá trị của một biến. Hình thức này phù hợp hơn khi có thể nảy sinh nhầm lẫn xung quanh tên biến.
m=Med
echo Med stands for ${m}ical
Nếu bạn bỏ dấu ngoặc nhọn, $ {m} ical sẽ được hiểu là một biến ghép (không tồn tại). Việc sử dụng dấu ngoặc nhọn với các biến được gọi là “thay thế”.
Biến toàn cục
Như đã đề cập trước đó, hệ thống Linux của bạn có một số biến tích hợp có thể được truy cập trên tất cả các tập lệnh (hoặc trình bao) của bạn. Các biến này được truy cập bằng cú pháp giống như các biến cục bộ.
Hầu hết các biến này đều ở dạng chữ BLOCK. Tuy nhiên, một số là các ký tự đơn thậm chí không phải là ký tự chữ và số.
Dưới đây là một số biến toàn cầu hữu ích phổ biến:
TRANG CHỦ: Cung cấp thư mục chính của người dùng
VỎ BỌC: Cung cấp loại trình bao bạn đang sử dụng (ví dụ: Bash, csh..vv)
?: Cung cấp trạng thái thoát của lệnh trước đó
Để nhận danh sách các biến toàn cục trên hệ thống của bạn, hãy chạy printenv (hoặc env) lệnh:
$ printenv
Các vòng lặp trong Bash Scripting
Bây giờ bạn đã biết biến là gì, cách gán chúng và cách thực hiện logic Bash cơ bản bằng cách sử dụng chúng.
Vòng lặp cho phép bạn lặp qua nhiều câu lệnh. Bash cung cấp chỗ ở vì vòng lặp và trong khi vòng lặp với một cú pháp đơn giản cho tất cả các nhu cầu lặp lại của bạn.
Nếu bạn đang nắm vững nghệ thuật phát triển Bash, vì vòng lặp phải được tiếp theo trong danh sách của bạn.
Đọc tiếp
Giới thiệu về tác giả