Giới thiệu
Trong lab này, bạn sẽ học cách viết và thực thi các shell script đơn giản bằng lệnh script
của Linux. Bạn sẽ khám phá cách sử dụng biến, thay thế lệnh, câu lệnh điều kiện và vòng lặp trong các script này, những yếu tố cần thiết để tự động hóa các tác vụ và nâng cao năng suất của bạn trong môi trường Linux. Lab này bao gồm các nguyên tắc cơ bản của shell scripting, cung cấp các ví dụ thực tế để giúp bạn bắt đầu với công cụ mạnh mẽ này.
Viết và Thực thi một Shell Script Đơn giản
Trong bước này, bạn sẽ học cách viết và thực thi một shell script đơn giản. Shell script là các tệp văn bản chứa một loạt các lệnh có thể được thực thi bởi shell (giao diện dòng lệnh).
Đầu tiên, hãy tạo một tệp mới cho shell script của chúng ta:
nano ~/project/hello.sh
Trong trình soạn thảo nano, hãy thêm nội dung sau vào tệp:
#!/bin/bash
echo "Hello, World!"
Dòng đầu tiên #!/bin/bash
được gọi là "shebang" và cho hệ thống biết sử dụng Bash shell để thực thi script.
Để làm cho script có thể thực thi, hãy chạy lệnh sau:
chmod +x ~/project/hello.sh
Bây giờ, bạn có thể thực thi script bằng lệnh sau:
~/project/hello.sh
Ví dụ đầu ra:
Hello, World!
Lệnh ~/project/hello.sh
chạy script hello.sh
nằm trong thư mục ~/project
.
Sử dụng Biến và Thay thế Lệnh trong Shell Script
Trong bước này, bạn sẽ học cách sử dụng biến và thay thế lệnh trong shell script. Biến cho phép bạn lưu trữ và sử dụng lại các giá trị, trong khi thay thế lệnh cho phép bạn kết hợp đầu ra của một lệnh vào script của bạn.
Đầu tiên, hãy tạo một tệp mới cho shell script của chúng ta:
nano ~/project/variables.sh
Trong trình soạn thảo nano, hãy thêm nội dung sau vào tệp:
#!/bin/bash
## Assign a value to a variable
name="John Doe"
## Use the variable in an echo statement
echo "Hello, $name!"
## Perform command substitution
current_date=$(date)
echo "The current date is: $current_date"
Lưu tệp và làm cho nó có thể thực thi:
chmod +x ~/project/variables.sh
Bây giờ, bạn có thể thực thi script:
~/project/variables.sh
Ví dụ đầu ra:
Hello, John Doe!
The current date is: Fri Apr 14 12:34:56 UTC 2023
Trong script, trước tiên chúng ta gán một giá trị cho biến name
bằng cách sử dụng toán tử gán =
. Sau đó, chúng ta sử dụng biến trong một câu lệnh echo
bằng cách thêm tiền tố $
.
Phần thứ hai của script minh họa việc thay thế lệnh. Lệnh $(date)
được thực thi và đầu ra của nó được lưu trữ trong biến current_date
. Sau đó, chúng ta sử dụng biến này trong một câu lệnh echo
khác.
Triển khai Câu lệnh Điều kiện và Vòng lặp trong Shell Script
Trong bước này, bạn sẽ học cách sử dụng câu lệnh điều kiện và vòng lặp trong shell script. Câu lệnh điều kiện cho phép bạn thực thi các mã khác nhau dựa trên các điều kiện nhất định, trong khi vòng lặp cho phép bạn lặp lại một khối mã nhiều lần.
Hãy tạo một tệp mới cho shell script của chúng ta:
nano ~/project/conditional_loops.sh
Trong trình soạn thảo nano, hãy thêm nội dung sau vào tệp:
#!/bin/bash
## Conditional statement
age=18
if [ $age -ge 18 ]; then
echo "You are an adult."
else
echo "You are a minor."
fi
## Loop
echo "Counting from 1 to 5:"
for i in 1 2 3 4 5; do
echo "$i"
done
Lưu tệp và làm cho nó có thể thực thi:
chmod +x ~/project/conditional_loops.sh
Bây giờ, bạn có thể thực thi script:
~/project/conditional_loops.sh
Ví dụ đầu ra:
You are a minor.
Counting from 1 to 5:
1
2
3
4
5
Trong phần đầu tiên của script, chúng ta sử dụng câu lệnh if
để kiểm tra xem biến age
có lớn hơn hoặc bằng 18 hay không. Dựa trên kết quả, chúng ta in các thông báo khác nhau.
Trong phần thứ hai, chúng ta sử dụng vòng lặp for
để lặp từ 1 đến 5, in từng số.
Tóm tắt
Trong lab này, bạn đã học cách viết và thực thi một shell script đơn giản, cũng như cách sử dụng biến và thay thế lệnh trong shell script. Bạn bắt đầu bằng cách tạo một shell script in ra "Hello, World!" và làm cho nó có thể thực thi. Sau đó, bạn khám phá việc sử dụng biến để lưu trữ và sử dụng lại các giá trị, đồng thời kết hợp đầu ra của các lệnh vào script của bạn bằng cách sử dụng thay thế lệnh. Các khái niệm cơ bản này cung cấp một nền tảng vững chắc để xây dựng các shell script phức tạp hơn để tự động hóa các tác vụ khác nhau trên hệ thống Linux của bạn.