मैं यह कार्य चलाना चाहता हूं लेकिन यह विफल हो जाता है bundle
बाइनरी नहीं मिलती है क्योंकि जिस उपयोगकर्ता के साथ मैं इसे चला रहा हूं उसके पास एक अलग $PATH है जब मैं सिर्फ sudo su - deploy
से Ansible में।
अगर मैं रूट के रूप में बॉक्स में SSH करता हूं और फिर रन करता हूं sudo su - deploy
और echo 'whoami' $PATH
मुझे deploy /home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
मिलता है।
लेकिन अगर मैं उत्तरदायी कार्य के shell:
भाग के समान आदेश देता हूं तो मुझे deploy /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
मिलता है।
rbenv
भाग को /etc/profile.d/rbenv.sh
में सेट किया गया है, लेकिन अगर मैं इसे Ansible के साथ चलाता हूं तो यह लोड नहीं होता है।
मुझे अपने सभी shell:
पैरा को source /etc/profile.d/rbenv.sh
के साथ उपसर्ग करने के लिए एक निराला हैक मिला लेकिन यह गंदा लगता है :)
मैं इसे कैसे ठीक करूं?
पुनश्च: मैं अपने फेडोरा 23 पर Ansible 2.0.2.0 का उपयोग कर रहा हूं और यह Ubuntu 14.04 सर्वर से बात करता है।
1 उत्तर
http://bencane.com/2013/09/16/understanding-a-little-more-about-etcprofile-and-etcbashrc/
अंतर सरल है, /etc/profile केवल इंटरेक्टिव शेल के लिए निष्पादित किया जाता है और /etc/bashrc इंटरैक्टिव और गैर-इंटरैक्टिव शेल दोनों के लिए निष्पादित किया जाता है। वास्तव में उबंटू में /etc/profile सीधे /etc/bashrc को कॉल करता है।
तो अपना /etc/profile.d/rbenv.sh .bashrc or . में शामिल करें
मुझे अपने सभी शेल को उपसर्ग करने के लिए एक निराला हैक मिला: स्रोत /etc/profile.d/rbenv.sh के साथ पैराम्स
संबंधित सवाल
नए सवाल
linux
LINUX QUESTIONS को संबंधित होना चाहिए। इस टैग का उपयोग केवल तभी करें जब आपका प्रश्न लिनक्स एपीआई या लिनक्स-विशिष्ट व्यवहार का उपयोग करके प्रोग्रामिंग से संबंधित हो, न कि केवल इसलिए कि आप लिनक्स पर अपने कोड को चलाने के लिए होते हैं। यदि आपको लिनक्स समर्थन की आवश्यकता है तो आप https://unix.stackexchange.com या विशिष्ट लिनक्स वितरण की स्टैक एक्सचेंज साइट जैसे https://askubuntu.com या https://elementaryos.stackexchange.com/ की कोशिश कर सकते हैं