जवाबों:
यदि आप चाहते हैं कि यह वैश्विक हो, तो संशोधित करें
/etc/profile
या करने के लिए एक स्क्रिप्ट जोड़ें
/etc/profile.d
यदि आप इसे उपयोगकर्ता-विशिष्ट होना चाहते हैं, तो संशोधित करें
/home/$USER/.profile
/usr/local/bin/pihole -cविशिष्ट उपयोगकर्ता के ऑटोलॉगिन पर कमांड चलाने की कोशिश कर रहा है । इस लाइन को जोड़ा /home/$USER/.profile- कुछ भी नहीं होता है। जब मैं स्क्रिप्ट जोड़ता हूं /etc/profile.dतो यह काम करता है, लेकिन यह वैश्विक है और इसे तब भी चलाता है जब मैं ssh सत्र खोलता हूं (जो मैं चाहता हूं वह नहीं है)। को जोड़ना .bashrcकाम करता भी है, लेकिन किसी भी समय मैं खुले नए खोल चलाता है (जो नहीं जो मैं चाहता है)। सवाल: /home/$USER/.profileकाम करने से क्यों नहीं जोड़ा जाएगा ???
बस स्टार्टअप अनुप्रयोगों के लिए बैश स्क्रिप्ट जोड़ें।
कमांड फ़ील्ड में, दर्ज करें
bash /full/path/to/bash/script.sh/
यदि आप अधिक विशिष्ट होना चाहते हैं तो आप ~ / .bash_profile या ~ / .bash_login में भी कोड लिख सकते हैं।
और आप उदाहरण के लिए किसी भी स्क्रिप्ट को स्रोत कर सकते हैं:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profileया $HOME/.profileया$HOME/.bash_profile
/etc/profile.d/yourscript.shअगर यह आउटपुट का उपयोग करता है, तो मैं अत्यधिक उपयोग करने की सलाह दूंगा। जब आप एक गैर-संवादात्मक सत्र का उपयोग करते हैं, तो आपको एक $TERM is not setसंदेश प्राप्त होगा । यह ssh प्रोटोकॉल का उपयोग करते समय ध्यान देने योग्य है, जैसे scp। आमतौर पर, एक बड़ी बात नहीं है, हालांकि, वीम को यह पसंद नहीं है और यह एक चेतावनी फेंक देगा। मुझे पता है कि वीम यहां का विषय नहीं है, लेकिन यह ध्यान देने योग्य है कि सभी एप्लिकेशन शालीनतापूर्वक $TERM is not setचेतावनी को अनदेखा नहीं करेंगे ।
संक्षेप में, यदि स्क्रिप्ट आउटपुट उत्पन्न करती है, तो इसे पहली पंक्ति में निर्दिष्ट स्थानों पर रखें। हालांकि, यदि आप पर्यावरण को संशोधित कर रहे हैं और आपकी स्क्रिप्ट आउटपुट उत्पन्न नहीं करती है, तो बाद का उपयोग करें।
.shयदि आप अपनी स्क्रिप्ट को अंदर रखते हैं तो एक्सटेंशन होना चाहिए/etc/profile.d/।chmode +x /etc/profile.d/myscript.shबेशक।