それは、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 コメント:
コメントを投稿