कुछ आदेश हैं जिन्हें प्रारंभिक प्रावधान के बाद एक सामान्य उपयोगकर्ता के रूप में चलाया जाना चाहिए। मैंने सोचा कि मैं एक अलग शेल स्क्रिप्ट और कमांड का उपयोग करके ऐसा कर सकता हूं su --login -c <command> vagrant, लेकिन यह उपयोगकर्ता के पथ या अन्य पर्यावरण सेटिंग्स .bashrc को प्राप्त नहीं कर रहा है।
उदाहरण के लिए:
#!/usr/bin/env bash
su --login -c "rbenv install 2.0.0-p353" vagrant
su --login -c "rbenv global 2.0.0-p353" vagrant
su --login -c "gem update --system" vagrant
su --login -c "yes | gem update" vagrant
su --login -c "gem install rdoc" vagrant
su --login -c "gem install rails pg" vagrant
क्या इसे करने का कोई तरीका है? शायद यह कठपुतली या रसोइये जैसे अन्य प्रावधान उपकरण के साथ किया जाना है? मैंने एक और शेल स्क्रिप्ट बनाने के बारे में सोचा है जो सूत्रों का कहना है .bashrc, एक का उपयोग करके बॉक्स में कॉपी करना: फ़ाइल प्रावधान और उस तरह के कमांड को निष्पादित करना, लेकिन यह एक हैक की तरह लगता है।
ऐसा करने का सही तरीका क्या है?
su -pपर्यावरण चर को संरक्षित करेगा - क्या यह मदद करता है?