जैसा कि 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"
, लेकिन यह स्क्रिप्ट को सोर्स करने की तुलना में जोखिम भरा है। आप अनजाने में एक खट्टा फ़ाइल की तुलना में अधिक आसानी से तोड़ सकते हैं।)