Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

อธิบายพารามิเตอร์ตำแหน่งทุบตีพร้อมตัวอย่างเชลล์สคริปต์ 2 ตัวอย่าง

พารามิเตอร์คือเอนทิตีที่เก็บค่า อาจเป็นชื่อ ตัวเลข หรืออักขระพิเศษบางตัว ตัวแปรคือพารามิเตอร์ที่แสดงด้วยชื่อ ตัวแปรบางตัวถูกกำหนดไว้สำหรับคุณแล้ว และส่วนใหญ่ไม่สามารถกำหนดค่าให้กับตัวแปรเหล่านี้ได้

ตัวแปรเหล่านี้มีข้อมูลที่เป็นประโยชน์ ซึ่งเชลล์สคริปต์สามารถใช้เพื่อให้ทราบเกี่ยวกับสภาพแวดล้อมที่กำลังทำงานอยู่

Bash มีพารามิเตอร์สองประเภท

  • พารามิเตอร์ตำแหน่ง
  • พารามิเตอร์พิเศษ

ในบทความนี้ ให้เราพูดถึงพารามิเตอร์ตำแหน่ง bash พร้อมตัวอย่าง

บทความนี้เป็นส่วนหนึ่งของชุดการสอนทุบตีที่กำลังดำเนินอยู่

ตัวอย่าง 1:Bash Positional Parameter – $0, $1, $2 ..

พารามิเตอร์ตำแหน่งคืออาร์กิวเมนต์ที่กำหนดให้กับสคริปต์ของคุณเมื่อมีการเรียกใช้ อาจเป็นตั้งแต่ $1 ถึง $N เมื่อ N ประกอบด้วยตัวเลขมากกว่าหนึ่งหลัก จะต้องอยู่ในวงเล็บปีกกา เช่น ${N}

ตัวแปร $0 คือชื่อฐาน ของโปรแกรมตามที่เรียก

ตัวอย่างต่อไปนี้ได้รับสองอาร์กิวเมนต์และให้ผลการดำเนินการทางคณิตศาสตร์ระหว่างจำนวนเต็มทั้งสองนั้น

ขั้นแรก ให้สร้างเชลล์สคริปต์ arithmetic.sh ดังที่แสดงด้านล่าง

$ 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"

ถัดไป ดำเนินการ arithmetic.sh ด้วยพารามิเตอร์ที่เหมาะสมดังที่แสดงด้านล่าง

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

ในผลลัพธ์ข้างต้น $1 มีค่า 12 และ $2 มี 10

เชลล์บิวด์อิน 'let' ช่วยให้ดำเนินการคำนวณทางคณิตศาสตร์กับตัวแปรเชลล์ได้ สคริปต์ด้านบนทำหน้าที่คำนวณ เช่น การบวก การลบ การคูณ และการหารตามพารามิเตอร์ที่กำหนด

ตัวอย่าง 2:ตั้งค่า / ยกเลิกการตั้งค่าพารามิเตอร์ตำแหน่ง Bash

คำสั่ง set ในตัวใช้สำหรับตั้งค่าและยกเลิกการตั้งค่าพารามิเตอร์ตำแหน่ง

ขั้นแรก สร้างสคริปต์เชลล์ positional.sh ดังที่แสดงด้านล่าง

$ 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"

สคริปต์ด้านบนจะพิมพ์อาร์กิวเมนต์บรรทัดคำสั่งก่อน จากนั้น set command จะตั้งค่าพารามิเตอร์ตำแหน่งอย่างชัดเจน ตั้งค่าด้วย – หมายถึงจุดสิ้นสุดของตัวเลือก อาร์กิวเมนต์ต่อไปนี้ทั้งหมดเป็นพารามิเตอร์ตำแหน่ง แม้จะเริ่มต้นด้วย '-' ตั้งค่าด้วย '–' โดยไม่มีอาร์กิวเมนต์อื่นใดเพื่อยกเลิกการตั้งค่าพารามิเตอร์ตำแหน่งทั้งหมด

ถัดไป ดำเนินการ positional.sh ดังที่แสดงด้านล่าง

$ ./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=

ในบทความถัดไป ให้เราพูดถึงเรื่อง bash พารามิเตอร์พิเศษพร้อมตัวอย่าง