Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Giải thích các tham số vị trí Bash với 2 tập lệnh Shell mẫu

Tham số là một thực thể lưu trữ các 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 đặt 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 sử dụng bởi tập lệnh shell để 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í
  • Thông số Đặc biệt

Trong bài viết này, hãy cùng chúng tôi 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 thực hiện của chúng tôi.

Ví dụ 1:Tham số vị trí Bash - $ 0, $ 1, $ 2 ..

Tham số vị trí là các đối số được cung cấp cho các tập lệnh của bạn khi nó được gọi. Nó có thể từ $ 1 đến $ N. Khi N bao gồm nhiều hơn một chữ số, nó phải được đặt trong một dấu ngoặc nhọn như $ {N}.

Biến $ 0 là tên cơ sở 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 tập lệnh shell arithmetic.sh như hì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 các tham số thích hợp như được hiển thị bên dưới.

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

Trong kết quả đầu ra ở trên, $ 1 có giá trị là 12 và $ 2 có giá trị là 10.

Nội trang shell ‘let’ cho phép thực hiện phép toán số học trên các biến shell. Tập lệnh trên thực hiện các phép toán số học như cộng, trừ, nhân và chia trên các tham số đã cho.

Ví dụ 2:Đặt / Bỏ đặt các Tham số Vị trí Bash

Lệnh set có sẵn được sử dụng để đặt và bỏ đặt tham số vị trí.

Đầu tiên, tạo tập lệnh shell positional.sh như được hiển thị bên dưới.

$ cat positional.sh
#!/bin/bash

# From command line
echo -e "Basename=$0"
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# From Set builtin
set First Second Third
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Store positional parameters with -(hyphen)
set - -f -s -t
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Unset positional parameter
set --
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

Tập lệnh trên in các đối số dòng lệnh trước, sau đó lệnh set thiết lập tham số vị trí một cách rõ ràng. Đặt với kết thúc - tham chiếu của các tùy chọn, tất cả các đối số sau đây là tham số vị trí thậm chí chúng có thể bắt đầu bằng ‘-‘. Đặt bằng ‘-‘ mà không có bất kỳ đối số nào khác sẽ hủy đặt tất cả các tham số vị trí.

Tiếp theo, thực hiện positional.sh như được hiển thị bên dưới.

$ ./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 viết tiếp theo, hãy cùng chúng tôi thảo luận về các tham số đặc biệt của bash với các ví dụ.