1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シェルスクリプトの文字列に色をつけよう

Last updated at Posted at 2024-10-17

はじめに

シェルスクリプトで一連の処理を書く際に、色をつけると成功の可否がわかりやすくなったりします。

例:
スクリーンショット 2024-10-17 22.53.28.png

文字列の色を変える

スクリーンショット 2024-10-17 18.19.27.png

color.sh
#!/bin/sh

cd "$(dirname "$0")"

# 黒
echo -e "\e[30m黒\e[0m"

# 赤
echo -e "\e[31m赤\e[0m"

# 緑
echo -e "\e[32m緑\e[0m"

# 黄色
echo -e "\e[33m黄色\e[0m"

# 青
echo -e "\e[34m青\e[0m"

# マゼンタ(紫)
echo -e "\e[35mマゼンタ(紫)\e[0m"

# シアン(水色)
echo -e "\e[36mシアン(水色)\e[0m"

# 白
echo -e "\e[37m白\e[0m"

# 明るい黒(グレー)
echo -e "\e[90m明るい黒(グレー)\e[0m"

# 明るい赤
echo -e "\e[91m明るい赤\e[0m"

# 明るい緑
echo -e "\e[92m明るい緑\e[0m"

# 明るい黄色
echo -e "\e[93m明るい黄色\e[0m"

# 明るい青
echo -e "\e[94m明るい青\e[0m"

# 明るいマゼンタ(明るい紫)
echo -e "\e[95m明るいマゼンタ(明るい紫)\e[0m"

# 明るいシアン(明るい水色)
echo -e "\e[96m明るいシアン(明るい水色)\e[0m"

# 明るい白
echo -e "\e[97m明るい白\e[0m"

exit 0

文字列の背景色を変える

スクリーンショット 2024-10-17 18.19.15.png

color.sh
#!/bin/sh

cd "$(dirname "$0")"

# 黒い背景
echo -e "\e[40m黒い背景\e[0m"

# 赤い背景
echo -e "\e[41m赤い背景\e[0m"

# 緑の背景
echo -e "\e[42m緑の背景\e[0m"

# 黄色い背景
echo -e "\e[43m黄色い背景\e[0m"

# 青い背景
echo -e "\e[44m青い背景\e[0m"

# マゼンタ(紫)の背景
echo -e "\e[45mマゼンタ(紫)の背景\e[0m"

# シアン(水色)の背景
echo -e "\e[46mシアン(水色)の背景\e[0m"

# 白い背景
echo -e "\e[47m白い背景\e[0m"

# 明るい黒(グレー)の背景
echo -e "\e[100m明るい黒(グレー)の背景\e[0m"

# 明るい赤の背景
echo -e "\e[101m明るい赤の背景\e[0m"

# 明るい緑の背景
echo -e "\e[102m明るい緑の背景\e[0m"

# 明るい黄色の背景
echo -e "\e[103m明るい黄色の背景\e[0m"

# 明るい青の背景
echo -e "\e[104m明るい青の背景\e[0m"

# 明るいマゼンタ(明るい紫)の背景
echo -e "\e[105m明るいマゼンタ(明るい紫)の背景\e[0m"

# 明るいシアン(明るい水色)の背景
echo -e "\e[106m明るいシアン(明るい水色)の背景\e[0m"

# 明るい白の背景
echo -e "\e[107m明るい白の背景\e[0m"

exit 0

文字列の色と背景色を変える

テキストと背景が同系色の組み合わせと、低コントラストの組み合わせは視認性が悪いので避けてます。

スクリーンショット 2024-10-17 18.24.06.png

color.sh
#!/bin/sh

cd "$(dirname "$0")"

# 黒文字の見やすい背景
echo -e "\e[30;107m黒文字、明るい白の背景\e[0m"
echo -e "\e[30;103m黒文字、明るい黄色の背景\e[0m"

# 赤文字の見やすい背景
echo -e "\e[31;47m赤文字、白の背景\e[0m"
echo -e "\e[31;103m赤文字、明るい黄色の背景\e[0m"

# 緑文字の見やすい背景
echo -e "\e[32;40m緑文字、黒の背景\e[0m"
echo -e "\e[32;100m緑文字、明るい黒(グレー)の背景\e[0m"

# 黄色文字の見やすい背景
echo -e "\e[33;40m黄色文字、黒の背景\e[0m"

echo -e "\e[33;44m黄色文字、青の背景\e[0m"

# 青文字の見やすい背景
echo -e "\e[34;103m青文字、明るい黄色の背景\e[0m"
echo -e "\e[34;47m青文字、白の背景\e[0m"

# マゼンタ(紫)文字の見やすい背景
echo -e "\e[35;40mマゼンタ文字、黒の背景\e[0m"
echo -e "\e[35;46mマゼンタ文字、シアンの背景\e[0m"

# シアン(水色)文字の見やすい背景
echo -e "\e[36;40mシアン文字、黒の背景\e[0m"
echo -e "\e[36;100mシアン文字、明るい黒(グレー)の背景\e[0m"

# 白文字の見やすい背景
echo -e "\e[37;40m白文字、黒の背景\e[0m"
echo -e "\e[37;44m白文字、青の背景\e[0m"

# 明るい黒(グレー)文字の見やすい背景
echo -e "\e[90;40m明るい黒文字、黒の背景\e[0m"
echo -e "\e[90;47m明るい黒文字、白の背景\e[0m"

exit 0
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?