#!/bin/bash #引数の入力と入力値の範囲の判定(R) echo R=? read R if [ $R -ge 0 -a $R -le 255 ] then shift else echo 0から255の値を入力してください。 exit fi #引数の入力と入力値の範囲の判定(G) echo G=? read G if [ $G -ge 0 -a $G -le 255 ] then shift else echo 0から255の値を入力してください。 exit fi #引数の入力と入力値の範囲の判定(B) echo B=? read B if [ $B -ge 0 -a $B -le 255 ] then shift else echo 0から255の値を入力してください。 exit fi #16進数への変換(10→ a) a=$((R/16)) case $a in 10) a=\a ;; 11) a=\b ;; 12) a=\c ;; 13) a=\d ;; 14) a=\e ;; 15) a=\f ;; esac #16進数への変換(11→ b) b=$((R%16)) case $b in 10) b=\a ;; 11) b=\b ;; 12) b=\c ;; 13) b=\d ;; 14) b=\e ;; 15) b=\f ;; esac #16進数への変換(12→ c) c=$((G/16)) case $c in 10) c=\a ;; 11) c=\b ;; 12) c=\c ;; 13) c=\d ;; 14) c=\e ;; 15) c=\f ;; esac #16進数への変換(13→ d) d=$((G%16)) case $d in 10) d=\a ;; 11) d=\b ;; 12) d=\c ;; 13) d=\d ;; 14) d=\e ;; 15) d=\f ;; esac #16進数への変換(14→ e) e=$((B/16)) case $e in 10) e=\a ;; 11) e=\b ;; 12) e=\c ;; 13) e=\d ;; 14) e=\e ;; 15) e=\f ;; esac #16進数への変換(15→ f) f=$((B%16)) case $f in 10) f=\a ;; 11) #入力値の範囲の判定 f=\b ;; 12) f=\c ;; 13) f=\d ;; 14) f=\e ;; 15) f=\f ;; esac #カラーコード n=$a$b$c$d$e$f #euro表示のカラーコードと色の名前を表示 if grep -sq $n 'eurocolor.csv' then grep "$n" 'eurocolor.csv' else echo "$n" echo "eurocolor.csv中に対応する色はありません。" fi #jp表示のカラーコードと色の名前を表示 if grep -sq $n 'jpcolor.csv' then grep "$n" 'jpcolor.csv' else echo "$n" echo "jpcolor.csv中に対応する色はありません。" fi #metro表示のカラーコードと色の名前を表示 if grep -sq $n 'metrocolor.csv' then grep "$n" 'metrocolor.csv' else echo "$n" echo "metrocolor.csv中に対応する色はありません。" fi