พารามิเตอร์คือเอนทิตีที่เก็บค่า อาจเป็นชื่อ ตัวเลข หรืออักขระพิเศษบางตัว ตัวแปรคือพารามิเตอร์ที่แสดงด้วยชื่อ ตัวแปรบางตัวถูกกำหนดไว้สำหรับคุณแล้ว และส่วนใหญ่ไม่สามารถกำหนดค่าให้กับตัวแปรเหล่านี้ได้
ตัวแปรเหล่านี้มีข้อมูลที่เป็นประโยชน์ ซึ่งเชลล์สคริปต์สามารถใช้เพื่อให้ทราบเกี่ยวกับสภาพแวดล้อมที่กำลังทำงานอยู่
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 พารามิเตอร์พิเศษพร้อมตัวอย่าง