それは、Cygwin 版 ScreenFetch といったところ。そう、unix 系でお馴染みのアスキーアートだ。CLI 環境が手放せずにいるネアンデルタール人の憩いの場!
人生とは、無駄をいかに楽しむか!ということであろうか。それで、無駄も無駄ではなくなるような...
さて、こいつの良いところは、なんといっても bash で書かれていること。おかげで、いかようにもカスタマイズできる。つまり、Cygwin である必要もないのだ。これぞ自由感!
我が環境では、二つほど warning が出力されるが、コードを見れば一目瞭然!勉強にもなって、ありがたや!ありがたや!
尚、GitHub からダウンロードできる。
1. 出力は、こんな感じ...
● WinScreeny for Cygwin
● ScreenFetch for Roccky Linux(参考まで)
#! /bin/bash screenfetch-dev figlet -w 110 -f slant -c "Rock Linux 9"
2. 押さえておきたいワザは、二つ...
● 一つは、変数 "display" で宣言した項目数でループをかけて、detect*() 関数をアクティブ化。
...
#display=( Host Cpu OS Arch Shell Motherboard HDD Memory Uptime Resolution DE WM WMTheme Font )
display=( Host Cpu OS Arch Shell Motherboard HDD Memory Uptime Resolution DE WM WMTheme Font GPU Kernel )
...
detectHost () { ... }
detectCpu () { ... }
...
detectGPU () { ... }
detectKernel () { ... }
...
# Loops :>
for i in "${display[@]}"; do
[[ "${display[*]}" =~ "$i" ]] && detect${i}
done
...
尚、GPU と Kernel を追加してカスタマイズ。● 二つは、文字色と背景色をエスケープシーケンスのカラーコードで抽象化。
...
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
...
cat << EOF
...
${f1}OS: ${f3}${os} ${arch}
${f1}CPU: ${f3}${cpu}
...
EOF
# ---- 文字色変数 $f* ----
# $f0 => "\e[30m :Black
# $f1 => "\e[31m :Red
# $f2 => "\e[32m :Green
# $f3 => "\e[33m :Yellow
# $f4 => "\e[34m :Blue
# $f5 => "\e[35m :Magenta
# $f6 => "\e[36m :Cyan
# $f7 => "\e[37m :White
# ---- 背景色変数 $b* ----
# $b0 => "\e[40m :Black
# $b1 => "\e[41m :Red
# $b2 => "\e[42m :Green
# $b3 => "\e[43m :Yellow
# $b4 => "\e[44m :Blue
# $b5 => "\e[45m :Magenta
# $b6 => "\e[46m :Cyan
# $b7 => "\e[47m :White
尚、printf 文は、-v オプションで変数に直接代入できるんだぁ...



0 コメント:
コメントを投稿