Tôi đã đưa ra chức năng shell sau:
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
}
Hàm này có thể được sử dụng như thế này (Kết quả là đúng nếu $HOST
có LOL
):
$hash_string256 $HOST
113
$hash_string256 $HOST 127
240
Để kết nối nó với tmux
bạn có thể sử dụng một tập lệnh bắt đầu và cấu hình 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
Đối với hostname LOL
nó sẽ thiết lập status-fg
để colour113
và status-bg
để colour240
. Số 127 trong $(hash_string256 $HOST 127)
đó là có nên nền sẽ không giống với màu nền trước và cách xa nhau.
Đối với không có hệ thống GNU
Nếu hệ thống của bạn có md5
thay vì md5sum
dòng
hash_value=$(printf "%s" "$1" | md5sum |tr -d " -"| tr "a-f" "A-F")
có thể được thay thế bằng
hash_value=$(printf "%s" "$1" | md5 | tr "a-f" "A-F")
.tmux.conf
đã nhận được"cut -c3- ~/.tmux.conf | bash -s apply_configuration" returned 1
. Tuy nhiên, thanh trạng thái của tôi thực sự chuyển sang màu đỏ !!!