Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Thành Thạo Tham Số Vị Trí Bash: 2 Ví Dụ Script Shell Thực Tế

Một tham số là một thực thể lưu trữ giá trị. Nó có thể là một tên, một số hoặc một số ký tự đặc biệt. Một biến là một tham số được biểu thị bằng tên. Một số biến đã được thiết lập sẵn cho bạn, và hầu hết các biến này không thể gán giá trị cho chúng.

Các biến này chứa thông tin hữu ích, có thể được script shell dùng để biết về môi trường mà nó đang chạy.

Bash cung cấp hai loại tham số.

  • Tham Số Vị Trí (Positional Parameter)
  • Tham Số Đặc Biệt (Special Parameter)

Trong bài này, chúng ta sẽ thảo luận về tham số vị trí bash với các ví dụ.

Bài viết này là một phần của loạt bài hướng dẫn bash đang diễn ra.

Ví Dụ 1: Tham Số Vị Trí Bash – $0, $1, $2 ..

Tham số vị trí là các đối số được đưa cho script khi nó được gọi. Nó có thể từ $1 đến $N. Khi N chứa nhiều hơn một chữ số, nó phải được bao quanh bằng ngoặc nhọn như ${N}.

Biến $0 là basename của chương trình như nó được gọi.

Ví dụ sau lấy hai đối số và cung cấp kết quả phép toán số học giữa hai số nguyên đó.

Đầu tiên, tạo script shell arithmetic.sh như dưới đây.

$ cat arithmetic.sh
#!/bin/bash
echo -e "\$1=$1"
echo -e "\$2=$2"
let add=$1+$2
let sub=$1-$2
let mul=$1*$2
let div=$1/$2
echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"

Tiếp theo, thực thi arithmetic.sh với tham số thích hợp như dưới đây.

$ ./arithmetic.sh 12 10
$1=12
$2=10
Addition=22
Subtraction=2
Multiplication=120
Division=1

Trong đầu ra trên, $1 có giá trị 12, và $2 có 10.

Lệnh builtin shell let cho phép thực hiện phép toán số học trên biến shell. Script trên thực hiện các phép toán như cộng, trừ, nhân, chia trên các tham số cho trước.

Ví Dụ 2: Thiết Lập / Hủy Thiết Lập Tham Số Vị Trí Bash

Lệnh built-in set được dùng để thiết lập và hủy thiết lập tham số vị trí.

Đầu tiên, tạo script shell positional.sh như dưới đây.

$ cat positional.sh
#!/bin/bash
# Từ dòng lệnh
echo -e "Basename=$0"
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"
# Từ builtin set
set First Second Third
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"
# Lưu tham số vị trí với -(dấu gạch ngang)
set - -f -s -t
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"
# Hủy thiết lập tham số vị trí
set --
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

Script trên in tham số dòng lệnh trước, sau đó lệnh set thiết lập tham số vị trí một cách tường minh. Set với -- chỉ cuối tùy chọn, tất cả đối số theo sau là tham số vị trí ngay cả khi chúng bắt đầu bằng -. Set với -- không có đối số khác sẽ hủy tất cả tham số vị trí.

Tiếp theo, thực thi positional.sh như dưới đây.

$ ./positional.sh
Basename=t.sh
$1=12
$2=10
$3=
$1=First
$2=Second
$3=Third
$1=-f
$2=-s
$3=-t
$1=
$2=
$3=

Trong bài tiếp theo, chúng ta sẽ thảo luận về tham số đặc biệt bash với ví dụ.