Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Viết tạo bash script là một trong những cách lập trình máy tính Linux phổ biến và dễ tiếp cận nhất. Những ví dụ về script đơn giản này sẽ giúp bạn hiểu quy trình và giới thiệu cho bạn những kiến thức cơ bản về lập trình Bash.
Ví dụ Hello World là một cách tuyệt vời để học về bất kỳ ngôn ngữ lập trình nào và Bash cũng không ngoại lệ.
Đây là cách in "Hello World" bằng Bash:
1. Mở trình soạn thảo và bắt đầu chỉnh sửa file mới chứa các dòng code sau.
2. Dòng đầu tiên của Bash script phải luôn trông như thế này:
#!/bin/bash
Lưu ý: Lệnh Shebang (#!/bin/bash) rất cần thiết vì shell sử dụng nó để quyết định cách chạy script. Trong trường hợp này, nó sử dụng trình thông dịch Bash.
3. Bất kỳ dòng nào bắt đầu bằng ký hiệu # đều là một comment. Dòng shebang là trường hợp đặc biệt, nhưng bạn có thể sử dụng comment riêng để giải thích code của mình. Thêm comment trên dòng 2, ví dụ:
# Print some text from a bash script
4. Bạn có thể in ra đầu ra tiêu chuẩn bằng lệnh echo, theo sau là giá trị bạn muốn in. Thêm dòng sau vào dòng 3:
echo "Hello World"
5. Lưu script, tốt nhất là có phần mở rộng .sh, ví dụ, hello_world.sh. Phần mở rộng không phải là một yêu cầu bắt buộc nhưng đó là một quy ước hữu ích để tuân theo.
6. Để chạy script của bạn, hãy làm cho file có thể thực thi được. Sử dụng lệnh chmod ("change mode") cùng với đối số +x ("executable") và tên shell script của bạn:
chmod +x hello_world.sh
7. Sử dụng lệnh này để chạy script từ trong thư mục của nó:
./hello_world.sh
8. Khi script chạy, nó sẽ in dòng chữ " Hello World " trên terminal của bạn:

Từ script của mình, bạn có thể chạy bất kỳ chương trình nào mà bạn thường chạy trên dòng lệnh. Ví dụ, bạn có thể tạo một thư mục mới từ script của mình bằng lệnh mkdir.
1. Bắt đầu với dòng Shebang tương tự như trước:
#!/bin/bash
2. Nhắc người dùng nhập tên thư mục bằng lệnh echo như trước:
echo "Enter new directory name:"
3. Sử dụng lệnh read tích hợp để tìm nạp thông tin đầu vào của người dùng. Đối số duy nhất đặt tên cho một biến mà shell sẽ lưu trữ đầu vào:
read newdir
4. Khi bạn cần sử dụng giá trị được lưu trữ trong một biến, hãy thêm ký hiệu đô la ($ vào trước tên của biến đó). Bạn có thể chuyển nội dung của biến đầu vào làm đối số cho lệnh mkdir để tạo một thư mục mới:
mkdir $newdir
5. Khi bạn chạy script này, nó sẽ nhắc bạn nhập đầu vào. Nhập tên thư mục hợp lệ và bạn sẽ thấy script tạo nó trong thư mục hiện tại của bạn:

Thay thế cho việc đọc dữ liệu đầu vào một cách tương tác, hầu hết các lệnh Linux đều hỗ trợ đối số. Bạn có thể cung cấp một đối số khi chạy một chương trình để kiểm soát hành vi của nó.
Trong script của mình, bạn có thể sử dụng $1 để tham chiếu đến một biến đặc biệt chứa giá trị của đối số đầu tiên. $2 sẽ đề cập đến đối số thứ hai, v.v...
1. Tạo một thư mục bằng lệnh mkdir từ ví dụ trước. Tuy nhiên, lần này, hãy sử dụng biến tích hợp $1:
#!/bin/bash
mkdir $1
2. Chạy script, lần này chuyển tên thư mục mới mà bạn đã chọn làm đối số:
./arg_dir.sh Test
Bạn có thể thắc mắc điều gì sẽ xảy ra nếu bạn chạy script mà không cung cấp đối số nào cả. Hãy thử và xem; bạn sẽ nhận được thông báo lỗi bắt đầu "usage: mkdir":

Nếu không có bất kỳ đối số dòng lệnh nào, giá trị $1 sẽ trống. Khi script của bạn gọi mkdir, script sẽ không chuyển đối số cho script đó và lệnh mkdir sẽ trả về lỗi đó. Để tránh điều này, bạn có thể tự kiểm tra tình trạng và đưa ra một lỗi thân thiện hơn:
1. Như mọi khi, hãy bắt đầu với dòng shebang:
#!/bin/bash
2. Trước khi bạn gọi mkdir, hãy kiểm tra đối số đầu tiên trống (tức là không có đối số). Bạn có thể thực hiện việc này bằng câu lệnh if của Bash chạy code dựa trên một điều kiện:
if ["$1" = ""]; then
3. Nếu đối số đầu tiên trống, hãy in lỗi và thoát script của bạn:
echo "Please provide a new directory name as the first argument"
exit
4. Từ khóa "fi" hơi lạ ("if" đảo ngược) báo hiệu sự kết thúc của câu lệnh if trong Bash:
fi
5. Script của bạn bây giờ có thể tiếp tục như trước, để xử lý trường hợp khi có đối số:
mkdir $1
Khi chạy phiên bản script mới này, bạn sẽ nhận được thông báo nếu quên đưa vào đối số:

Nếu bạn thấy mình lặp lại cùng một code, hãy cân nhắc việc gói code đó vào một hàm. Sau đó, bạn có thể gọi hàm đó bất cứ khi nào bạn cần.
Đây là một ví dụ về chức năng xóa một file nhất định.
1. Bắt đầu với dòng shebang:
#!/bin/bash
2. Xác định hàm bằng cách viết tên của nó, theo sau là dấu ngoặc đơn trống và các lệnh bên trong dấu ngoặc nhọn:
del_file() {
echo "deleting $1"
rm $1
}
Sau đó, bạn có thể gọi hàm và truyền cho nó tên của file cần xóa:
del_file test.txt

Khi bạn gọi một hàm, nó sẽ đặt giá trị $? đặc biệt với trạng thái exit của lệnh cuối cùng nó chạy. Trạng thái thoát rất hữu ích cho việc kiểm tra lỗi; trong ví dụ này, bạn có thể kiểm tra xem lệnh rm có thành công hay không:
if [ $? -ne 0 ]; then
echo "Sorry, could not delete the file"
fi

Ví dụ cuối cùng này minh họa một máy tính rất cơ bản. Khi chạy nó, bạn sẽ nhập hai giá trị, sau đó chọn một phép toán số học để thực hiện chúng.
Đây là code cho calc.sh:
#!/bin/bash
# Take operands as input
echo "Enter first number: "
read a
echo "Enter second number: "
read b
# Input type of operation
echo "Enter Arithmetic Operation Choice :"
echo "1. Addition"
echo "2. Subtraction"
echo "3. Multiplication"
echo "4. Division"
read choice
# calculator operations
case $choice in
1)
result=`echo $a + $b | bc`
;;
2)
result=`echo $a - $b | bc`
;;
3)
result=`echo $a \* $b | bc`
;;
4)
result=`echo "scale=2; $a / $b" | bc`
;;
esac
echo "Result: $result"
Lưu ý việc sử dụng case ... esac tương đương với câu lệnh switch của Bash từ các ngôn ngữ khác. Nó cho phép bạn kiểm tra một giá trị - trong trường hợp này là biến choice - với một số giá trị cố định và chạy code liên quan.
Script này sử dụng lệnh bc để thực hiện từng phép tính.

Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
7 công cụ AI mã nguồn mở có thể thay thế các gói đăng ký trả phí
Hướng dẫn tìm địa điểm bằng bản đồ trên Gemini
Cách dùng plugin Gmail trong ChatGPT để chuẩn bị nháp email
13 công cụ AI tốt nhất để tạo tác phẩm nghệ thuật từ một bức ảnh chụp
Hướng dẫn dọn dẹp và quản lý Gmail bằng Gemini
TOP công cụ AI chỉnh sửa ảnh theo từng nhu cầu
5 cách khai thác Gemini với Google Workspace và NotebookLM
TOP Claude Connector tốt nhất cho hoạt động bán hàng
4 lựa chọn thay thế tốt nhất cho Midjourney
Hướng dẫn tạo bài thuyết trình bằng AI trên NoteGPT
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Cách sử dụng công cụ chỉnh sửa ảnh ưu việt trên ChatGPT
Cách dùng AI Agent Consensus tóm tắt tài liệu dài trên ChatGPT
Cách tạo tài liệu bằng AI trên NoteGPT
10 công cụ tạo website AI tốt nhất năm 2026
Ứng dụng Copilot trong Excel
10 mô hình Hugging Face đáng tìm hiểu vào năm 2026
Hướng dẫn tạo dashboard dữ liệu bằng Claude Dashboards
Cách dùng Claude Motion biến ý tưởng thành video chuyển động
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10