Hướng Dẫn Viết Bash Script Cho Người Mới Bắt Đầu

Trong thế giới Unix, Bash là một trong những công cụ scripting phổ biến nhất, được viết theo cụm từ Bourne Again Shell. Đây là một công cụ đắc lực dành cho bất kỳ lập trình viên Linux hay Quản trị Hệ thống nào. Bài viết này sẽ hướng dẫn bạn những kiến thức cơ bản về Bash script và cách sử dụng nó hiệu quả.

Các Loại Shell Trong Unix

Unix có hai loại shell chính:

  • Bourne-type shell
  • C shell

Bourne shell được chia thành các loại sau:

  • Korn shell (ksh)
  • Bourne shell (sh)
  • POSIX shell (sh)
  • Bourne Again shell (bash)

C shell được chia thành:

  • C shell (csh)
  • TENEX (TOPS) C shell (tcsh)

Bash script là một công cụ vô cùng mạnh mẽ và hữu ích cho lập trình viên. Nó rút ngắn thời gian thực hiện các tác vụ bằng cách gom nhóm nhiều lệnh thành một lệnh gọi hàm duy nhất. Bạn có thể truy cập danh sách shell có sẵn trên hệ thống của bạn bằng lệnh:

cat /etc/shells

Kết quả trả về sẽ hiển thị danh sách các shell, ví dụ:

/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

Lợi Ích Của Việc Sử Dụng Bash Functions

Bash functions mang lại nhiều lợi ích cho người dùng, bao gồm:

  • Tránh lặp lại: Không phải viết lại các đoạn mã thực hiện cùng một tác vụ nhiều lần.
  • Tiết kiệm thời gian: Thực thi nhiều lệnh chỉ với một lệnh gọi hàm duy nhất.
  • Cấu trúc rõ ràng: Tạo ra các đoạn mã có cấu trúc rõ ràng, dễ đọc và bảo trì.
  • Linh hoạt: Cho phép truyền tham số động vào hàm để xử lý các trường hợp khác nhau.
  • Tái sử dụng: Hàm sau khi được tạo có thể được sử dụng lại nhiều lần bởi nhiều người dùng khác nhau.
  • Tự động hóa: Có thể lên lịch thực thi các hàm tự động thông qua cron job.
  • Dễ dàng gỡ lỗi: Cung cấp các công cụ gỡ lỗi để tìm và sửa lỗi trong mã lệnh.

Bắt Đầu Viết Bash Script

Để bắt đầu viết bash script, bạn cần truy cập vào server VPS thông qua SSH.

Tạo File Bash Script

Bạn có thể tạo một file bash script bằng cách sử dụng VIM Editor với lệnh sau:

vim sampleFunction.sh

Cấu Trúc Cơ Bản Của Bash Script

Mỗi bash script thường bắt đầu bằng dòng sau:

#!/bin/bash

Dòng này cho hệ thống biết đường dẫn đến trình thông dịch bash script.

Khai Báo Hàm

Cấu trúc khai báo hàm trong bash script như sau:

function functionName {
  first command
  second command
}

Hoặc bạn có thể viết gọn hơn:

functionName (){
  first command
  second command
}

Bạn cũng có thể viết trên một dòng:

functionName() { first command; second command; }

Ví dụ, hàm sau tạo một thư mục mới và chuyển đến thư mục đó:

sampleFunction () {
  mkdir -p $1
  cd $1
}

Trong đó, $1 đại diện cho tham số đầu tiên được truyền vào hàm khi gọi.

Thực Thi Bash Script

Sau khi lưu file bash script (ví dụ: sampleFunction.sh), bạn có thể thực thi nó bằng lệnh:

./sampleFunction.sh myDir

Trong đó, myDir là tên thư mục bạn muốn tạo.

Các Ví Dụ Về Bash Functions

In Ra Màn Hình

#!/bin/bash

testfunction(){
  echo "My first function"
}

testfunction

Kết quả khi thực thi script:

My first function

Truyền Tham Số

#!/bin/bash

testfunction(){
  echo $1
  echo $2
}

testfunction "Hello" "World"

Kết quả:

Hello
World

Nhập Dữ Liệu Từ Bàn Phím

#!/bin/bash

addition(){
  sum=$(($1+$2))
  return $sum
}

read -p "Enter a number: " int1
read -p "Enter a number: " int2

add $int1 $int2
echo "The result is : " $?

Ví dụ này cho phép người dùng nhập hai số từ bàn phím, sau đó tính tổng và in kết quả ra màn hình.

Các Cấu Trúc Điều Khiển Trong Bash Script

Bash script hỗ trợ các cấu trúc điều khiển như:

  • While loop
  • For loop
  • If statement
  • And logic
  • Or logic
  • Else If statement
  • Case Statement

While Loop

#!/bin/bash

isvalid=true
count=1

while [ $isvalid ]
do
  echo $count
  if [ $count -eq 5 ];
  then
    break
  fi
  ((count++))
done

For Loop

#!/bin/bash

for (( count=10; count>0; count-- ))
do
  echo -n "$count "
done

If Statement

#!/bin/bash

echo "Enter a valid number"
read n

if [ $n -eq 101 ];
then
  echo "This is first number"
elif [ $n -eq 510 ];
then
  echo " This is second number "
elif [ $n -eq 999 ];
then
  echo " This is third number "
else
  echo "No numbers over here"
fi

Case Statement

#!/bin/bash

echo " Enter a valid number"
read n

case $n in
  101)
    Echo " This is the first number " ;;
  510)
    echo " This is the second number " ;;
  999)
    echo " This is the third number " ;;
  *)
    echo " No numbers over here " ;;
esac

Lời Kết

Bài viết đã giới thiệu đến bạn những kiến thức cơ bản về Bash script và cách sử dụng nó để viết các đoạn mã tự động hóa các tác vụ trên hệ thống Linux. Hy vọng bài viết hữu ích với bạn.

Nguồn: https://truongxaydunghcm.edu.vn/