ターミナルで色をつけて遊ぶ(ls コマンド)

lsコマンドで色を変えられることを知って面白いと思って遊んだ結果です。

結果

lsコマンドでは文字と背景の色を変えることができる。それを使って画面いっぱいを色とりどりにする。 こんな感じ!!

遊んだ結果です!

※これは一応ターミナルの画面です。

やり方

######## 変数の意味#######################
# test.test どのファイルの色を設定するか
# color_1    文字の色を指定する(30~37)
# color_2   背景の色を指定する(40~47)
########################################

export LS_COLORS="test.test=color_1;color_2". # 色の設定
ls --color=auto                                                         # 色をつけて表示

LS_COLORSにより、どのファイルの文字の色を背景の色を変える設定をできます(Macの場合は書き方が異なります)。 各色についてはこちらの記事を参考にしてください。

サーバ環境セットアップ|lsコマンドで表示される文字カラーを変更

ls --color=auto によって設定した色を用いて表示します。

 やったこと

これを用いてシェルスクリプトを組み、ランダムで表示させるようにした。

#!/bin/bash
######引数#######
# $1=ファイルを作成する新しいディレクトリ名(のちに消される)
# $2= 開始する数
# $3= 終了する数
##############
mkdir $1 # 
st=$2 
en=$3
result=""
for i in `seq $st $en` ## 繰り返す
do
        rand0=$((RANDOM%26)  # ランダムを生成(ファイル名用)
   value=$((RANDOM%8))   # ランダムを生成(文字用)
   value_2=$((RANDOM%8))   # ランダムを生成(背景用)
        touch $1/$rand0.$i   # ファイルを作成する(ディレクトリ内部に)
        rand1=$((30+$value))
        rand2=$((40+$value_2))
        result+=*.$i=05\;$rand1\;$rand2:   # 設定するための準備
done
export LS_COLORS=$result   # 設定する
ls --color=auto $1                    # 表示
rm -r $1            # 作成したディレクトリを消す

今回はLs_colorという名前で保存した。

Ls_color aaa 1 3000

このように実行した結果一番最初の画像のようになる。