CLASSFUNC BLOG
We Share Our Knowledge
25 bash script example
27 Th06 2021 15:17

1. Hello bash script

: '
Cách viết nhiều dòng comment.
Cách viết nhiều dòng comment.
Cách viết nhiều dòng comment.
'

2. Khai báo biến

NAME="Tuan"
AGE=18

3. Ghi nội dung ra màn hình

echo "Tôi tên là $name, Năm nay tôi $AGE tuổi."

4. Lấy nội dung nhập vào của người dùng

echo "Bạn đang công việc gì ?"
read -r job
echo "$job là một công việc tuyệt vời"

5. Thực hiện tính toàn

echo "Nhập vào X:"
read -r X
echo "Nhập vào Y"
read -r Y

((sum=X+Y))
echo "Sum: $sum"

6. Điều kiện rẽ nhánh if, else if, else

echo "Nhập vào số may mắn của bạn"
read -r n

if [ "$n" -eq 101 ]; then
  echo "Chúc mừng bạn đã đạt giải nhất"
elif [ "$n" -eq 510 ]; then
  echo "Bạn đạt giải nhì"
elif [ "$n" -eq 999 ]; then
  echo "Bạn đạt giải ba"
else
  echo "Chúc bạn may mắn lần sau"
fi

7. Điều kiện rẽ nhánh case

echo "Nhập vào số may mắn của bạn"
read -r n
case $n in
  101) echo echo "Chúc mừng bạn đã đạt giải nhất" ;;
  510) echo "Bạn đạt giải nhì" ;;
  999) echo "Bạn đạt giải ba" ;;
  *) echo "Chúc bạn may mắn lần sau" ;;
esac

8. Khởi tạo và gọi function

function F1() {
  echo 'I like bash programming'
}

F1

9. Khởi tạo function nhận tham số đầu vào

Dien_Tich() {
  area=$(($1 * $2))
  echo "Diện Tích là : $area m2"
}

Dien_Tich 10 20

10. Khởi tạo function trả về giá trị

function greeting() {
  str="Hello, $name"
  echo "$str"
}

echo "Enter your name"
read -r name

val=$(greeting)
echo "Return value of the function is $val"

11. Vòng lặp while

valid=true
count=1
while [ $valid ]; do
  echo $count

  if [ $count -eq 5 ]; then
    break
  fi

  ((count++))
done

12. Vòng lặp for

for (( counter=10; counter>0; counter-- )); do
  echo -n "$counter "
done
printf "\n"

13. Tạo thư mục

echo "Enter directory name"
read -r newdir
mkdir "$newdir"

14. Kiểm tra sự tồn tại của thư mục

echo "Enter directory name"
read -r ndir

if [ -d "$ndir" ]; then
  echo "Directory exist"
else
  mkdir "$ndir"
  echo "Directory created"
fi

15. Tạo file

echo "Enter file name"
read -r newfile
touch "$newfile"

16. Kiểm tra sự tồn tại của file

filename=$1
if [ -f "$filename" ]; then
  echo "File exists"
else
  echo "File does not exist"
fi

17. Đọc nội dụng một file

file='book.txt'
while read line; do
  echo "$line"
done < $file

18. Thêm nội dung vào file

echo "Before appending the file"
cat book.txt

echo "Learning Laravel 5">> book.txt
echo "After appending the file"
cat book.txt

19. Xoá file

echo "Enter filename to remove"
read -r fn
rm -i "$fn"

20. Truyền tham số cho file bash

Tạo file test.sh và lưu trữ đoạn code dưới vào file

#!/bin/bash
echo "Total arguments : $#"
echo "1st Argument = $1"
echo "2nd argument = $2"

terminal exec

$ bash test.sh Linux Hint

21. Truyền tham số cho file bash với tham số được gán tên

Tạo file test2.sh và lưu trữ đoạn code dưới vào file

#!/bin/bash
for arg in "$@"; do
  index=$(echo $arg | cut -f1 -d=)
  val=$(echo $arg | cut -f2 -d=)
  case $index in
    X) x=$val;;
    Y) y=$val;;
  *)
  esac
done
((result=x+y))
echo "X+Y=$result"

terminal exec

$ bash command_line.sh Linux Hint

22. Đọc biến môi trường từ file

FILE_ENV="./.env"
if [ -f "$FILE_ENV" ]; then
  . "$FILE_ENV"
fi
echo "$ENV"

23. Lấy thời gian

Year=$(date +%Y)
Month=$(date +%m)
Day=$(date +%d)
Hour=$(date +%H)
Minute=$(date +%M)
Second=$(date +%S)
echo $(date)
echo "Current Date is: $Day-$Month-$Year"
echo "Current Time is: $Hour:$Minute:$Second"

24. sleep

echo "Wait for 5 seconds"
sleep 5
echo "Completed"

25. send mail

Recipient="admin@example.com"
Subject="Greeting"
Message="Welcome to our site"
mail -s $Subject $Recipient <<< "$Message"

link source code github: https://github.com/ClassFunc/learn_bash