मैं अक्सर अपने ओएस एक्स टर्मिनल विंडो से विभिन्न सर्वरों में प्रवेश कर रहा हूं।
मैं अलग-अलग मेजबानों के लिए एक रंग योजना असाइन करना चाहता हूं ताकि मेरी टर्मिनल विंडो अलग से बता सकें। क्या यह अपने आप हो सकता है?
मैं अक्सर अपने ओएस एक्स टर्मिनल विंडो से विभिन्न सर्वरों में प्रवेश कर रहा हूं।
मैं अलग-अलग मेजबानों के लिए एक रंग योजना असाइन करना चाहता हूं ताकि मेरी टर्मिनल विंडो अलग से बता सकें। क्या यह अपने आप हो सकता है?
जवाबों:
यहाँ एक पूर्ण समाधान है। अपने सर्वर के आईपी पते और / या डोमेन और उन रंगों की सूची रखें जिन्हें आप उनके लिए चाहते हैं ~ / .server_colors में।
192.168.122.102, रेड सैंड्स 192.168.122.103, महासागर www.foo.com, घास foo.com, घास
फिर ssh कमांड को हाईजैक करने के लिए इस लाइन को ~ / .profile में जोड़ें:
अन्य उपनाम = "~ / बिन / safe_ssh $ 1"
फिर आपके ssh लक्ष्य में @ की सूची के बाद जो कुछ भी है, उसकी तुलना करें। यदि कोई मेल है, तो स्क्रीन को संबंधित रंग में बदलने के लिए AppleScript चलाएं। यहाँ ~ / bin / safe_ssh:
#! / Bin / bash आईपी = `प्रतिध्वनि $ 1 | cut -d "@" -f2` मैच = `बिल्ली ~ / .server_colors | grep $ ip | wc -l` अगर [$ मैच -२ ०] फिर रंग = `बिल्ली ~ / .server_colors | grep $ ip | cut -f2 -d "," ` ऑसकस्क्रिप्ट ~ / बिन / बदलाव_टरिनल_कोलर। गुप्त "$ रंग" 2> / देव / अशक्त फाई / usr / bin / ssh $ 1
और अंतिम, यहाँ ~ / bin / change_terminal_color.scpt है
रन arvv पर एप्लिकेशन को "टर्मिनल" को विंडो 1 के चयनित टैब की वर्तमान सेटिंग्स सेट करने के लिए बताएं (पहली सेटिंग जिसका नाम है (argv का आइटम 1)) अंत चला
मैंने इस ब्लॉग पोस्ट से अधिकांश कोड ले लिए ।
हाँ।
या तो आप "स्क्रीन" का उपयोग करते हैं और इसे अनुकूलित करते हैं: http://www.slac.stanford.edu/comp/unix/package/epics/extensions/iocConsole/screen.1.html
या यदि संभव हो तो आप इसे अपने SSH क्लाइंट पर करने का प्रबंधन करते हैं।
आप यह भी कोशिश कर सकते हैं: http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/
@ मुरीबोट का समाधान मेरे लिए वास्तव में अच्छा काम करता है। मैंने उस पर कुछ कम सुधार किए। पर्याप्त प्रतिष्ठा होने पर मैं उसे अपने पद से नीचे जोड़ दूंगा।
लाइन बदलें
आईपी =echo $1 | cut -d"@" -f2
साथ में आईपी =echo $@ | grep -Eio [[:alnum:]_.-]+@[[:alnum:]_.-]+ | cut -d@ -f2
यह परिवर्तन आपके ssh कमांड के लिए अतिरिक्त तर्क देने की अनुमति देता है जैसे "ssh -p 1111 userName @ host"
नियमित अभिव्यक्ति सरल ipv4 पतों और डोमेन नामों के लिए अनुमति देता है।
कई तर्कों का समर्थन करने के लिए अंतिम पंक्ति को बदल दें
/ usr / बिन / ssh $ @
मैं बस एक ही चीज़ की तलाश में था और इस लेख को पाया:
http://akrabat.com/php/osx-terminal-colours/
यह ऐप्पलस्क्रिप्ट द्वारा टर्मिनल रंगों को बदलने के लिए एक php स्क्रिप्ट का उपयोग करता है। आप प्रत्येक सर्वर के लिए अलग-अलग रंगों के मैपिंग सेट कर सकते हैं। मेरे लिए बहुत अच्छा काम करता है, हालाँकि मुझे लगता है कि रूबी में php सामान को फिर से लिखने का आग्रह है :)
FK
मैं एक स्क्रिप्ट का उपयोग करता हूं जो विभिन्न bg / fg रंगों के साथ xterm विंडो में SSH लॉन्च करता है। यह होस्टनाम के हैश के आधार पर रंगों का चयन एक रंग अवधि से करता है ताकि किसी कॉन्फ़िगरेशन की आवश्यकता न हो।
स्क्रिप्ट रूबी में लिखी गई है: https://github.com/mickeyil/ssx
यदि आप iTerm2 का उपयोग कर रहे ~/bin/ssh-host-color.sh
हैं, तो https://gist.github.com/jbochi/31f118b8ae2882a2c90fa46c46509b57 से सामग्री के साथ नाम वाली फ़ाइल बनाएँ :
set_term_bgcolor(){
local R=$1
local G=$2
local B=$3
/usr/bin/osascript <<EOF
tell application "iTerm"
tell the current window
tell the current session
set background color to {$(($R*65535/255)), $(($G*65535/255)), $(($B*65535/255))}
end tell
end tell
end tell
EOF
}
if [[ "$@" =~ "production.example.com" ]]; then
set_term_bgcolor 40 0 0
elif [[ "$@" =~ "qa.example.com" ]]; then
set_term_bgcolor 0 40 0
fi
trap "set_term_bgcolor 0 0 0" EXIT
ssh $@
और अपनी ~/.aliases.sh
फ़ाइल में निम्न पंक्ति जोड़ें :
alias ssh="~/bin/ssh-host-color.sh $@"