NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
27/08/2024
Lượt xem

Hệ thống 14 bảng Bash Scripting Cheat Sheet với các cú pháp lệnh cơ bản, phổ biến

27/08/2024
17 phút đọc
Lượt xem

Đánh giá

Trong bài viết này Vietnix đã tổng hợp một bảng Bash Scripting, giúp bạn tra cứu nhanh các khái niệm, cú pháp và cấu trúc cơ bản như biến, câu điều kiện, vòng lặp, hàm và thao tác chuỗi. Mỗi phần đều có giải thích rõ ràng, giúp bạn dễ dàng nắm bắt và ứng dụng Bash Scripting Cheat Sheet hiệu quả.

Giới thiệu về Bash Script

Bash Scripting là một loại ngôn ngữ, tập lệnh (script) được viết bằng ngôn ngữ Bash (Bourne-Again Shell), được xem là một trong những chương trình thực hiện dòng lệnh (shell) phổ biến như chạy tập lệnh Bash, đặc biệt trong các hệ điều hành UnixLinux.

Giới thiệu về Bash Script
Giới thiệu về Bash Script

Cấu trúc cú pháp cơ bản của Bash Script

Cú pháp Bash Script khá đơn giản và dễ hiểu. Để viết một script hoạt động đúng, bạn cần nắm rõ các khái niệm như câu lệnh, biến, kiểu dữ liệu, cấu trúc điều khiển,…

Một file Bash Script thường có phần mở rộng là .sh. Để thực hiện một script bạn cần 2 điều kiện:

  • Chạy mỗi dòng trên một trên cửa sổ Terminal hoặc tty (Thực tế sẽ giống với việc chạy từng câu lệnh để hoàn thành tác vụ)
  • Viết tất cả các câu lệnh cần thiết vào một file Bash (*.sh) và thực thi.

Chú ý: Bạn sẽ hình dung được cấu trúc cơ bản Bash Script sau khi hiểu rõ và thực thi thành thạo các lệnh từ hệ thống Bash Scripting Cheat bên dưới.

Để hiểu chi tiết hơn về các loại phím tắt hay cú pháp, bạn hãy tham khảo hệ thống Cheat Sheet (bảng phím tắt) hay được sử dụng trong môi trường Bash Script:

Zsh Cheat Sheet: một loại giao diện dòng lệnh (CLI) dành cho các hệ điều hành tương tự như Unix và Linux. Zsh giống như một phiên bản nâng cấp của Bourne shell (sh) với nhiều tính năng mới và cải tiến hơn Bash.

Ngoài đóng vai trò là một shell, Bash còn là đóng vai trò là một dòng lệnh hữu ích trên hệ điều hành Linux. Bạn có thể tham khảo lệnh bash để hiểu hơn về cách hoạt động của Shell Script (môi trường thực hiện tập lệnh).

Ngoài ra, bạn có thể tham khảo thêm về các vai trò về môi trường thực hiện lệnh – Bash có phải là ngôn ngữ lập trình để hiểu thêm chi tiết.

Bảng 1: 8 cú pháp đối số và thực thi trong Bash Scripting

Tính năng của hệ thống bảng cú pháp đối số, thực thi: Thực hiện cú pháp cơ bản Bash Script (Shebang, cách thoát khỏi Bash Script, và cách sử dụng đối số)

Cú phápMô tả
#! /bin/bashShebang ở đầu Bash Script chỉ định trình thông dịch
#! /usr/bin/env bashShebang thay thế – sử dụng biến môi trường
$#Lưu trữ số lượng đối số được truyền vào cho Bash script.
$1 , $2, $3Các biến lưu trữ giá trị của các đối số được truyền vào script Bash.
exitThoát khỏi script Bash.
CTRL + CPhím tắt để dừng Bash.
$(command_name)Chạy một lệnh trong một subshell.
sleepTạm dừng script trong một khoảng thời gian (giây, phút, giờ hoặc ngày) được chỉ định.

Bảng 2: 2 cú pháp Bash Scripting sử dụng cho chú thích

Tính năng của hệ thống bảng cú pháp chú thích: Giải thích về ý nghĩa của từng phần trong đoạn code – nơi tổng hợp những lời giải đáp cho lập trình viên.

Cú phápMô tả
#Ghi chú một dòng. Mọi thứ sau dầu này sẽ bị bỏ qua khi đoạn code được chạy
: <<‘ ‘Ghi chú nhiều dòng. Và dấu này sử dụng để bao quanh nội dung của ghi chú

Chẳng hạn, ghi chú một dòng trong Bash scripting:

echo "Explain the code in a single line comment:"  

# This is a single line comment.

Ghi chú nhiều dòng trong Bash scripting:

: '

This is a multiline comment

Next line of the comment

Following line of the comment

'

Bảng 3: 12 cú pháp sử dụng biến trong ngôn ngữ lập trình

Tính năng của hệ thống bảng cú pháp sử dụng biến Bash Script: Lưu trữ, thao tác và truy xuất dữ liệu linh hoạt.

Cú phápMô tả
var_name=valGán giá trị cho biến được chỉ định.
$ var_nameTruy cập giá trị của biến được chỉ định.
“$var_name”Biến có chứa ký tự đặc biệt phải được đặt trong dấu nháy kép hoặc đơn.
var_name=$(command)Gán output của một lệnh cho biến được chỉ định.
readonly var_name=valNgăn việc sửa đổi giá trị của biến được chỉ định.
$HOME, $PATH, $USER,...Một số biến môi trường được xác định trước.
$0Biến lưu trữ tên của script.
$#Biến lưu trữ số lượng đối số dòng lệnh.
#?Biến lưu trữ trạng thái thoát của lệnh được thực thi cuối cùng.
$$Biến lưu trữ ID tiến trình của script hiện tại.
$!Biến lưu trữ ID tiến trình của lệnh nền được thực thi cuối cùng.
unset var_nameXóa biến với tên được chỉ định.

Dưới đây là ví dụ minh hoạ về các loại biến và thuộc tính của biến.

name="John"

echo $name     # Output: John

"$age"=25

echo $("$age")     # Output: 25

current_date=$(date)     # assign the output of date command to current_date

readonly profession="IT specialist"     # This variable can't be modified

unset name     # Output: Delete the variable called name

Bảng 4: 5 cú pháp thực thi lệnh trong Bash Scripting

Tính năng hệ thống bảng cú pháp thực thi lệnh: Cung cấp những điều kiện để lập trình viên chạy các lệnh và chương trình trong một script

Cú phápMô tả
command_nameThực thi trực tiếp lệnh có tên đã được chỉ định.
`variable_name=command`Phiên bản cũ của việc thay thế output của lệnh cho biến được chỉ định.
command > file_nameChuyển hướng output của lệnh đến file đã được chỉ định (ghi đè nếu file đã tồn tại). 
command >> file_nameChuyển hướng output của lệnh đến một file được chỉ định (thêm vào cuối file nếu file đã tồn tại).
command1 | command2Sử dụng output của command1 làm input cho command2.

Ví dụ về thực hiện lệnh, thay thế lệnh và chuyển hướng output trong Bash:

ncal     # execute the ncal command and display its return value

`content_list=ls`     # execute the ls command and stores its return value in content_list variable

ls > files_list.txt     # execute the ls command and stores its return value in files_list

date >> files_list.txt     # execute the date command and appends its return value in files_list

date | echo     # execute the date command pass its output as the input of echo command

Bảng 5: 4 cú pháp thực hiện Input/Output trong Bash Scripting

Các Script Bash có thể yêu cầu người dùng nhập dữ liệu (Input) trong quá trình chạy – Bash Input. Đây là một tính năng của script Bash trong việc tổng hợp, đọc input từ các file và có thể chuyển hướng output sang một file.

Tính năng của hệ thống bảng cú pháp thực hiện Input/Output trong Bash Script: Xử lý dữ liệu từ nhiều nguồn bên ngoài hoặc tạo các file output chứa kết quả thực thi của script.

Cú phápMô tả
read -pYêu cầu người dùng nhập thông tin.
command < input_fileChuyển hướng input từ file cho lệnh.
command 2> error_fileChuyển hướng lỗi phát sinh khi chạy lệnh đến file riêng.
command &> file_nameChuyển hướng các kết quả hoạt động và các lỗi vào chung một file.

Ví dụ về cách lấy input và nhắc xuất output trong Bash Script:

echo "What is your name?"

read name     # Promt the user to input his/her name and stores the input value in name variable

echo "Hello, $name!"

wc -l < input_file.txt     # Redirect input from input_file.txt to wc -l

wc -l 2> error_file.txt     # Redirect error of wc -l command to error_file.txt

wc -l &> log.txt     # Redirect standard output or error of wc -l command to log.txt

Bảng 6: 12 cú pháp tùy chỉnh kiểu dữ liệu trong Bash Scripting

Tính năng của hệ thống bảng cú pháp tùy chỉnh kiểu dữ dữ liệu trong Bash Scripting: Cung cấp một số kiểu dữ liệu (data types) cơ bản để xử lý thông tin trong script.

  • Một số kiểu dữ liệu chính trong Bash: Chuỗi (String), Số (Numeric) và Mảng (Array).
Cú phápMô tả
x=5Số nguyên được coi là kiểu dữ liệu Số.
is_valid=0Giá trị Boolean đại diện cho False (sai).
is_valid=1Giá trị Boolean đại diện cho True (đúng).
declare -a var=valueKhai báo một mảng được truy cập bằng chỉ mục (index).
declare -A varKhai báo một mảng kết hợp (associative array).
declare -i var=valueKhai báo biến số nguyên.
declare -r var=valueKhai báo một biến chỉ đọc (read-only).
declare -x var=valueKhai báo một biến được xuất (exported variable).
var_name=””Biến không được gán giá trị hoặc biến chưa được khởi tạo.
array=(“element1” “element2” “element3″…)Mảng tập hợp với các phần tử được truy cập bằng chỉ số số.
declare -A array1array1[“element1″]=”value1”array2[“element2″]=”value2”Mảng tập hợp các phần tử được truy cập bằng cách sử dụng chỉ số chuỗi.
var=”Hellow World”Chuỗi ký tự được đặt trong dấu nháy đơn hoặc nháy kép được coi là kiểu dữ liệu Chuỗi.

Ví dụ về các data types trong Bash Script:

name="John"             # String variable

count=10             # Numeric value

fruits=("apple" "banana" "orange")      # Index Array

declare -A ages                         # Declare an associative array

ages["John"]=25                         # Assigning value to a key

ages["Andrew"]=35                      # Assigning value to another key

Bảng 7: 5 cú pháp sử dụng lệnh điều kiện trong Bash Scripting

Tính năng của hệ thống bảng cú pháp sử dụng lệnh điều kiện: Kiểm soát chương trình người sử dụng linh hoạt.

Có ba loại câu lệnh điều kiện cơ bản trong Bash: if, elifcase.

Cú phápMô tả
if [ condition ]; then#codefiNếu điều kiện đúng, thực hiện đoạn code trong phần then.
if [ condition ]; then#codefielse#codefiNếu điều kiện đúng, thực hiện đoạn code trong phần then. Nếu không, thực hiện đoạn code trong phần else.
if [ condition1 ]; then#codeelif [ condition2 ]; then#codeelse#codefiKiểm tra nhiều điều kiện liên tiếp. Nếu điều kiện đầu tiên đúng, thực hiện đoạn code trong phần then tương ứng. Nếu không, kiểm tra điều kiện tiếp theo (elif) và cứ thế cho đến khi tìm thấy điều kiện đúng hoặc thực hiện đoạn code trong phần else nếu không có điều kiện nào đúng.
case variable inpattern1)#code;;pattern2)#code;;pattern3)#code;;*);;esacSo sánh biến với các mẫu lần lượt từ trên xuống. Nếu khớp với mẫu nào thì thực thi mệnh đề tương ứng và thoát khỏi khối case. Thực thi * nếu không có mẫu nào khớp.
test conditionTrả về giá trị 0 nếu điều kiện đúng, ngược lại trả về 1 nếu điều kiện sai.

Ví dụ về cấu trúc của các câu lệnh điều kiện trong Bash Script:

age=18

if [ "$age" -ge 18 ]; then

  echo "You are an adult."

fi

age=16

if [ "$age" -ge 18 ]; then

 echo "You are an adult."

else

 echo "You are not an adult."

fi

score=85

if [ "$score" -ge 90 ]; then

 echo "You achieve Grade: A" 

elif [ "$score" -ge 80 ]; then

 echo "You achieve Grade: B"

else

 echo "You achieve Grade: C" 

fi

fruit="apple"

case $fruit in "apple")

 echo "It's an apple." 

 ;;

"banana" | "orange")

 echo "It's a banana or an orange."

 ;;

 *)

 echo "The fruit name is not in the list."

 ;;

esac

Bảng 8: 6 cú pháp thực hiện vòng lặp nhóm lệnh nhiều lần

Tính năng của hệ thống bảng cú pháp vòng lặp (loops): Thực hiện lặp lại một khối lệnh nhiều lần.

Bash Script cung cấp nhiều loại vòng lặp khác nhau: for, while, until,…

Cú phápMô tả
for variable in list; do# CodedoneLặp qua từng phần tử trong danh sách và thực hiện # Code cho mỗi phần tử.
while condition; do# CodedoneLặp lại # Code miễn là điều kiện còn đúng.
until condition; do# CodedoneLặp lại # Code cho đến khi điều kiện trở thành đúng.
select variable in list; do# CodedoneThực hiện # Code dựa trên lựa chọn mà biến nhận từ danh sách.
continueBỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo.
breakThoát khỏi vòng lặp dựa trên một điều kiện nhất định.

Ví dụ về các cấu trúc điều khiển có sẵn trong ngôn ngữ lập trình Bash:

for i in {1..5}; do

 echo "Current value of the number is: $i"

done

count=1

while [ "$count" -le 5 ]; do

 echo "Current value of count is: $count"

 count=$((count + 1))

done

count=1

until [ "$count" -gt 5 ]; do

 echo "Current value of count is: $count"

 count=$((count + 1))

done

options=("Option 1" "Option 2" "Option 3")

select choice in "${options[@]}"; do

 echo "You selected: $choice"

 break

done

Bảng 9: 4 cú pháp sử dụng hàm trong Bash Scripting

Hàm là một đoạn code có thể được tái sử dụng nhiều lần trong một script Bash.

Tính năng của hệ thống bảng cú pháp Bash Scripting sử dụng hàm: giúp code dễ đọc, dễ bảo trì và hiệu quả hơn.

Cú phápMô tả
function_name() {# code}Khai báo hàm với tên tên đã cho. (function_name).
function_nameGọi hàm với tên đã cho (function_name).
local var_name=valueKhai báo biến cục bộ trong hàm.
returnThoát khỏi hàm và trả về giá trị cho hàm đã gọi.

Ví dụ về cách định nghĩa và gọi hàm trong Bash Script:

# Define a function that calculates the square of a number

calculate_square() {

local num=$1

local square=$((num * num))

return $square

}

Bảng 10: 8 phép tính toán học trong Bash Scripting

Bash Script có thể tính toán với các số. Bạn có thể dùng các công thức và phép tính cơ bản để làm điều này. Dưới đây là cú pháp tính toán trong Bash:

Cú phápMô tả
+Cộng.
Trừ.
*Nhân.
/Chia.
%Chia lấy dư.
**Luỹ thừa.
((i++))Tăng giá trị của biến i lên 1.
((i–))Giảm giá trị của biến i đi 1.

Bảng 11: 6 toán tử điều kiện số học trong Bash Scripting

Tính năng của hệ thống bảng toán tử số học: Sử dụng để so sánh hai số và trả về kết quả đúng hoặc sai.

Cú phápMô tả
-ltKiểm tra xem số bên trái có nhỏ hơn số bên phải hay không.
-gtKiểm tra xem số bên trái có lớn hơn số bên phải hay không.
-leKiểm tra xem số bên trái có nhỏ hơn hoặc bằng số bên phải hay không.
-geKiểm tra xem số bên trái có lớn hơn hoặc bằng số bên phải hay không.
-eqKiểm tra xem hai số có bằng nhau hay không.
-neKiểm tra xem hai số có khác nhau hay không.

Bảng 12: 3 toán tử Boolean kiểm tra điều kiện thực thi

Tính năng hệ thống bảng toán tử Boolean: Kiểm tra xem hai hay nhiều điều kiện có cùng đúng hay không.

Cú phápMô tả
&&Chỉ đúng khi tất cả các điều kiện đều đúng.
||Đúng nếu ít nhất một trong các điều kiện đúng.
!Đảo ngược kết quả của một điều kiện (đúng thành sai, sai thành đúng).

Bảng 13: String – 8 cú pháp thao tác dạng chuỗi nhiều mục đích

Cú phápMô tả
concatenated=”$str1 $str2″Nối 2 string str1 và str2 lại với nhau.
substring=${str:n}Lấy ra đoạn chuỗi con từ vị trí thứ n đến hết chuỗi str.
substring=${str:0:5}Lấy ra đoạn chuỗi con từ vị trí đầu tiên (vị trí 0) đến vị trí thứ 5 của chuỗi str.
length=${#str}Đếm số ký tự trong chuỗi str.
[[ $str == *”World”* ]]Kiểm tra xem chuỗi str có chứa từ “World” hay không.
replaced=${str/World/Universe}Thay thế lần xuất hiện đầu tiên của “World” bằng “Universe” trong chuỗi str.
trimmed=${str##*( )}Loại bỏ tất cả khoảng trắng ở đầu chuỗi str.
trimmed=${trimmed%%*( )}Loại bỏ tất cả khoảng trắng ở cuối chuỗi trimmed.

Bảng 14: 6 toán tử so sánh String trong Bash Scripting

Tính năng của hệ thống toán tử so sánh String trong Bash Scripting: Xác định xem một string có rỗng hay không hoặc so sánh độ dài giữa các string với nhau.

Cú phápMô tả
=Bằng.
!=Không bằng.
<Nhỏ hơn.
>Lớn hơn.
-n str1Chuỗi str1 không rỗng.
-z str2Chuỗi str2 rỗng.

Câu hỏi thường gặp

Biến $@ có ý nghĩa như thế nào trong Bash?

Trong Bash Script, $@ là một biến đặc biệt đại diện cho tất cả các đối số được truyền vào cho script hoặc hàm, mỗi đối số được xem là một từ riêng biệt.

Tại sao lại sử dụng bash?

Bash được sử dụng rộng rãi với tính linh hoạt, khả năng script mạnh mẽ và là đóng vai trò quan trọng trong Unix/Linux nhờ vào độ ổn định, khả năng tương thích cao.

Ngôn ngữ lập trình nào là tốt nhất?

Không có ngôn ngữ lập trình nào là tốt nhất, bởi vì mỗi ngôn ngữ đều có ưu điểm và nhược điểm riêng, phù hợp với mục đích và công việc khác nhau.

Lời kết

Bài viết đã cung cấp bảng Bash Scripting cheat sheet hữu ích cho người mới bắt đầu. Vietnix hy vọng những kiến thức này sẽ giúp bạn tự tin hơn trong việc viết script, tự động hóa các tác vụ và nâng cao hiệu suất làm việc trên hệ thống Linux/Unix. Nếu còn điều gì thắc mắc, bạn hãy bình luận ngay bên dưới để được giải đáp cụ thể.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG