আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা দেখতে এরকম কিছু দেখাচ্ছে:
export foo=/tmp/foo
export bar=/tmp/bar
আমি যখনই নির্মাণ করি তখনই আমি কিছু ভেরিয়েবল সেট আপ করতে 'উত্স আরম্ভ_এনভ' (যেখানে init_env উপরের স্ক্রিপ্টটি) চালিত করি।
পাইথনে এটি সম্পাদন করার জন্য আমার এই কোডটি চালু ছিল,
reg = re.compile('export (?P<name>\w+)(\=(?P<value>.+))*')
for line in open(file):
m = reg.match(line)
if m:
name = m.group('name')
value = ''
if m.group('value'):
value = m.group('value')
os.putenv(name, value)
তবে তখন কেউ সিদ্ধান্ত নিয়েছে যে init_envফাইলে নীচের মতো একটি লাইন যুক্ত করা ভাল হবে:
export PATH="/foo/bar:/bar/foo:$PATH"
স্পষ্টতই আমার পাইথনের লিপিটি আলাদা হয়ে গেল। আমি এই লাইনটি হ্যান্ডেল করার জন্য পাইথন স্ক্রিপ্টটি সংশোধন করতে পারি, তবে ফাইলটি ব্যবহার করার জন্য কেউ নতুন বৈশিষ্ট্য নিয়ে আসে তখনই এটি পরে যায় init_env।
প্রশ্নটি হ'ল যদি কোনও বাশ কমান্ড চালানোর কোনও সহজ উপায় থাকে এবং এটি আমার পরিবর্তন করতে দেয় os.environ?