ऐसा करने का वास्तव में बहुत सरल तरीका है। पोर्टेबिलिटी के लिए, यह मेरा कार्यान्वयन है लेकिन अपनी ज़रूरत के अनुरूप इसे हेरफेर करने के लिए स्वतंत्र महसूस करें।
स्क्रिप्ट शुरू करते समय एक पैरामीटर के रूप में अपना sudo पासवर्ड दर्ज करें, इसे कैप्चर करें, और इसे प्रत्येक कमांड के साथ गूंजें जो sudo पासवर्ड के लिए संकेत देगा।
#!/bin/bash
PW=$1
echo $PW | ./playback_delete_data_patch.sh 09_delete_old_data_p.sql
./command_wo_sudo.sh <param>
echo $PW | ./other_command_requires_sudo.sh <param>
स्क्रिप्ट के बंद होने के बाद आप एक संकेत जोड़ सकते हैं और कैप्चर कर सकते हैं:
echo "enter the sudo password, please"
read PW
लेकिन अगर कोई और नज़र रखता है कि नोड पर क्या चल रहा है; इसके द्वारा बनाए गए लॉग तक पहुंच है; या जब आप एक परीक्षण चलाते हैं, तो बेतरतीब ढंग से आपके ऊपर देखना चाहिए, जो सुरक्षा से समझौता कर सकता है।
यह रनिंग कमांड / स्क्रिप्ट के साथ भी काम करता है जिसे जारी रखने के लिए हां की आवश्यकता होती है:
echo $PW | yes | ./install.sh
इको एक प्रॉम्प्ट की प्रतिक्रिया में है, इसलिए आप अपनी ज़रूरत की किसी भी चीज़ का उपयोग कर सकते हैं, यदि आप अन्य स्क्रिप्ट चला रहे हैं, जो क्रमिक क्रम में प्रगति के लिए संकेत देती हैं। सुनिश्चित करें कि आप उस आदेश को जानते हैं, हालांकि, या बुरी चीजें हो सकती हैं।