Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Viết Shell Script để đọc và xử lý Parameters và Arguments - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Để thực hiện việc đọc và xử lý các tham số trong một tập lệnh Shell Script, chúng ta sẽ nghiên cứu 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"

Để lại một bình luậ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 *