मैं निम्नलिखित शेल फ़ंक्शन के साथ आया:
hash_string256() {
# Hash $1 into a number
hash_value=$(printf "%s" "$1" | md5sum |tr -d " -"| tr "a-f" "A-F")
# Add the hash with $2 and modulo 256 the result
# if $2 == "" it is 0
printf "ibase=16; (%s + %X) %% 100\n" $hash_value "$2" | bc
}
इस समारोह (परिणाम सत्य हैं, तो इस तरह इस्तेमाल किया जा सकता $HOSTहै LOL):
$hash_string256 $HOST
113
$hash_string256 $HOST 127
240
इसे tmuxआप के साथ कनेक्ट करने के लिए एक स्क्रिप्ट का उपयोग कर सकते हैं जो शुरू और कॉन्फ़िगर करता है tmux।
#!/bin/sh
SESSION=$USER
hash_string256() {
hash_value=$(printf "%s" "$1" | md5sum |tr -d " -"| tr "a-f" "A-F")
printf "ibase=16; (%s + %X) %% 100 \n" $hash_value "$2" | bc
}
tmux -2 new-session -d -s $SESSION
tmux set -g status-fg colour$(hash_string256 $HOST)
tmux set -g status-bg colour$(hash_string256 $HOST 127)
# Attach to session
tmux -2 attach-session -t $SESSION
होस्टनाम के लिए LOLयह सेट status-fgटू colour113एंड status-bgटू होगा colour240। 127 की संख्या में $(hash_string256 $HOST 127)है इसलिए पृष्ठभूमि अग्रभूमि रंग और एक दूसरे से दूर के रूप में समान नहीं होगी।
कोई भी GNU सिस्टम के लिए नहीं
आपके सिस्टम है, तो md5के बजाय md5sumलाइन
hash_value=$(printf "%s" "$1" | md5sum |tr -d " -"| tr "a-f" "A-F")
से बदला जा सकता है
hash_value=$(printf "%s" "$1" | md5 | tr "a-f" "A-F")
.tmux.confमुझे मिल गया"cut -c3- ~/.tmux.conf | bash -s apply_configuration" returned 1। बहरहाल, मेरी स्थिति पट्टी वास्तव में लाल हो गई !!!