उपनाम और tmux


12

में परिभाषित .bash_aliasesऔर .bashrcकाम नहीं करते हैं tmux

क्या इसे कुछ कॉन्फ़िगरेशन में बदला जा सकता है, इसलिए एलियास काम करता है tmux?


2
क्या आप सुनिश्चित हैं कि समस्या में है tmux? मैं वर्ष के बारे में tmux का उपयोग करता हूं और एलियास के साथ कोई समस्या नहीं देखी है। set -xअपने आरंभ में जोड़ने .bashrcऔर tmuxकमांड में चलाने का प्रयास करें source ~/.bashrc। हो सकता है कि आपको कोई त्रुटि मिले और यह आपकी समस्या को हल कर देगा।
भीड़

जवाबों:


9

tmuxडिफ़ॉल्ट रूप से एक लॉगिन शेल लॉन्च करता है, इसलिए ~/.bashrcइसे निष्पादित नहीं किया जाएगा (जो बाद के स्रोतों में ~/.bash_aliases। आपको ~/.bashrcअपने स्रोत से स्रोत की आवश्यकता है ~/.bash_profile। का INVOCATIONअनुभाग देखें man bash


19

( क्रिस डाउन के जवाब में सही व्याख्या है लेकिन अच्छा वर्कअराउंड नहीं)

आपकी समस्या बैश डिज़ाइन बग और tmux डिज़ाइन बग के संयोजन से उपजी है।

डिफ़ॉल्ट रूप से, tmux प्रत्येक विंडो में एक लॉगिन शेल शुरू करता है। इसका कोई मतलब नहीं है: यदि आपने tmux को अपने लॉगिन शेल के रूप में सेट किया है, तो आपको default-commandtmux के अलावा किसी अन्य चीज़ का विकल्प सेट करने की आवश्यकता है ; और यदि आपने tmux को अपने लॉगिन शेल के रूप में सेट नहीं किया है, तो आपको default-commandtmux के अंदर लॉगिन शेल शुरू करने से बचने के लिए विकल्प सेट करने की आवश्यकता है । तो यह ~/.tmux.confएक साधारण खोल शुरू करने के लिए tmux बताने के लिए अपने में इसे देखें:

set-option -g default-command $SHELL

फिर आपकी .bashrcपढ़ी जाएगी। बैश के साथ एक और मुद्दा है, जो यहाँ पर कोई फर्क नहीं पड़ता अगर आप ऊपर बताए अनुसार tmux को कॉन्फ़िगर करते हैं, लेकिन जो आपको पाठ मोड में लॉग ऑन करने पर (पाठ कंसोल पर या SSH पर) फिर से सरफेस करेगा। बैश ~/.bash_profileलॉगिन गोले में और ~/.bashrcइंटरैक्टिव गोले में पढ़ता है, लेकिन केवल अगर वे लॉगिन गोले नहीं हैं। ~/.bashrcइंटरैक्टिव गोले में भी पढ़ने के लिए यदि वे संवादात्मक हैं, तो इसे अपने में जोड़ें ~/.bash_profile:

case $- in *i*) . ~/.bashrc;; esac

+! यह मेरे उपनाम और PS1 शीघ्र प्राप्त करने के लिए अंतिम भाग लिया, लेकिन यह किया!
माइकल ड्यूरेंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.