อย่างที่ mbiber พูดsource
ไฟล์อื่น ตัวอย่างเช่นไฟล์กำหนดค่าของคุณ (พูดsome.config
) จะเป็น:
var1=val1
var2=val2
และสคริปต์ของคุณอาจมีลักษณะ:
#! /bin/bash
# Optionally, set default values
# var1="default value for var1"
# var1="default value for var2"
. /path/to/some.config
echo "$var1" "$var2"
ไฟล์จำนวนมาก/etc/default
มักใช้เป็นไฟล์กำหนดค่าสำหรับเชลล์สคริปต์อื่น ๆ ในลักษณะเดียวกัน /etc/default/grub
ตัวอย่างที่พบบ่อยมากจากโพสต์ที่นี่คือ ไฟล์นี้ใช้เพื่อตั้งค่าตัวเลือกการกำหนดค่าสำหรับ GRUB เนื่องจากgrub-mkconfig
เป็นเชลล์สคริปต์ที่มา:
sysconfdir="/etc"
#…
if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
หากคุณต้องดำเนินการกำหนดค่าของแบบฟอร์มจริงๆ:
var1 some value 1
var2 some value 2
จากนั้นคุณสามารถทำสิ่งที่ชอบ:
while read var value
do
export "$var"="$value"
done < /path/to/some.config
(คุณสามารถทำสิ่งที่ชอบeval "$var=$value"
ได้ แต่มันมีความเสี่ยงมากกว่าการหาสคริปต์คุณสามารถทำลายไฟล์นั้นได้ง่ายกว่าไฟล์ที่มา)