หากต้องการใช้ไฟล์ปรับแต่งสำหรับสคริปต์นี้ แสดงว่าสคริปต์จะต้องอ่านพารามิเตอร์บางตัวจากไฟล์ปรับแต่ง
ไฟล์กำหนดค่า
config.txt:
เส้นทาง =.
ส่วนขยาย = sh
ม็อดไทม์=1
ชื่อไฟล์ = ทดสอบ
ไฟล์สคริปต์:
#!/bin/bash
lines=$(<config.txt) #read config.txt
สำหรับบรรทัดใน $line; ทำ # แยกวิเคราะห์แต่ละบรรทัดและแยกคีย์ค่าพารามิเตอร์
ถ้า [[ $line = *"="* ]]; จากนั้น # ถ้าคำมี "="...
vars[${line%%=*}]=${line#*=} # จากนั้นตั้งเป็น associative-array key
ไฟ
เสร็จแล้ว
ค้นหา ${vars[path]} -mtime ${vars[modtime]} -type f "(" -name "*.${vars[extension]}" -or -name "${vars[ชื่อไฟล์]}.* " ")"
อีกวิธีหนึ่งคือใช้สคริปต์ที่มีอาร์กิวเมนต์และระบุพาธ นามสกุล เวลาแก้ไข หรือชื่อไฟล์ดังนี้:
#!/bin/bash
ช่วย()
{
เสียงก้อง ""
echo "การใช้งาน: $0 -p Path -e fileExtension -m modifiedTime -f fileName"
echo -e "\t-path เส้นทางที่จะค้นหา"
echo -e "นามสกุลไฟล์ \t-ext"
echo -e "\t-modtime แก้ไขเวลา เช่น +1d "
echo -e "\t-ชื่อไฟล์ชื่อไฟล์"
ทางออก 1 # ออกจากสคริปต์หลังจากช่วยพิมพ์
}
ในขณะที่รับตัวเลือก "p:e:m:f:"
ทำ
กรณี "$opt" ใน
p) pathFile="$OPTARG" ;;
จ) extension="$OPTARG" ;;
ม.) modifiedTime="$OPTARG" ;;
ฉ) fileName="$OPTARG" ;;
? ) ช่วย ;; # พิมพ์วิธีใช้ในกรณีที่พารามิเตอร์ไม่มีอยู่จริง
เอสแซค
เสร็จแล้ว
# พิมพ์ความช่วยเหลือในกรณีที่พารามิเตอร์ว่างเปล่า
ถ้า [ -z "$pathFile" ] || [ -z "ส่วนขยาย $" ] || [ -z "$modifyTime" ] || [ -z "ชื่อไฟล์$" ]
แล้ว
echo "พารามิเตอร์ว่าง กรุณาตรวจสอบ...";
ช่วย
ไฟ
ค้นหา $pathFile -mtime $modifyTime -type f "(" -name "*.$extension" -or -name "$fileName.*" ")"