[Shell Script] Đọc và xử lý Parameters và Arguments


Để đọc và xử lý các Parameter trong Shell Script, chúng ta xem xét các ví dụ dưới đây.

Đọc và xử lý tham số trong Shell Script

Để truyền tham số vào trong 1 script (viết bằng Shell Script)

/bin/bash my-script.sh <param_1> <param_2> ... <param_n>

VD: Tạo 1 shell script có nội dung như sau:

#!/bin/bash
# Path of the script
echo "Script: $0"

# List of the parameter
echo "Parameter:"
echo "- Fruit: $1"
echo "- Flower: $2"
echo "- Vehicle: $3"

Phân quyền cho script (Thêm quyền thực thi)

sudo chmod +x my-script.sh

Chạy script bằng command sau:

./my-script.sh apple rose bus

Trường hợp tham số có dấu khoảng cách, thì hãy bao nó bằng dấu ” hoặc “”

./my-script.sh 'custard apple' rose bus

Đọc toàn bộ tham số trong Shell Script

Tất cả tham số truyền vào, được đặt trong một biến đặc biệt đó là: $@

Để đọc và hiển thị toàn bộ tham số truyền vào chúng ta tham khảo đoạn code shell script sau:

#!/bin/bash

# List all prameters
for PARAM in "$@"
do
echo "Param: $PARAM"
done

Truyền toán bộ tham số sang 1 script khác

Để truyền toàn bộ tham số sang 1 script khác tham khảo script sau:

#!/bin/bash

./another-script $@

Sử dụng Flag

Chúng ta cần truyền 3 tham số -u, -p, -f như sau:

./my-script -u vinasupport -p ebook -f docx

Để đọc các tham số input cúng ta sử dụng đoạn shell script sau:

#!/bin/bash

while getopts u:p:f: option
do
case "${option}"
in
u) USER=${OPTARG};;
p) PRODUCT=${OPTARG};;
f) FORMAT=${OPTARG};;
esac
done

echo "USER = $USER"
echo "PRODUCT = $PRODUCT"
echo "FORMAT = $FORMAT"

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web