วิธีการสร้าง testcolor.sh เหมือนภาพหน้าจอต่อไปนี้?


23

ฉันพบภาพนี้บนอินเทอร์เน็ต แต่ไม่ทราบว่ามันเกิดขึ้นได้อย่างไร

ป้อนคำอธิบายรูปภาพที่นี่

ทุกคนสามารถให้ตัวอย่างกับสิ่งนั้นได้หรือไม่? ฉันแค่ต้องการมีตารางสีเช่นกัน


คุณสามารถค้นหาคอลเลกชันของสคริปต์สำหรับการนี้ในArchWiki
aloisdg พูดว่า Reinstate Monica

คำตอบ:


25

ติดตั้งแพ็คเกจชื่อ:

colortest

และเพลิดเพลินไปกับการระบายสีโดยการเรียกใช้ไบนารีเช่นcolortest-8 colortest-16 colortest-16bและอื่น ๆ


3
คำตอบนี้อาจหมายถึงแพคเกจในการกระจาย Linux เฉพาะ แหล่งที่มาของรสชาติอื่น ๆ ของ Unix อยู่ที่ไหน?
เครื่องใช้

ในเดเบียน / อูบุนตู: apt-get install colortest
r03

มีcolortest-256รวมอยู่ด้วย
ยัก

มีรุ่นนี้สำหรับ macOS หรือไม่? พวกเราไม่สามารถไปที่นี่ได้🙂
Ben CR Leggiero

17

ลำดับESC [ SPEC1 ; … mการหลีกเลี่ยงเปลี่ยนคุณลักษณะข้อความ (สีตัวหนา ฯลฯ ) ของอักขระที่เขียนในภายหลัง นี้เป็นหนึ่งในANSI ลำดับขั้วหลบหนี แต่ละรายการSPECสามารถเป็นหนึ่งในรายการต่อไปนี้ (รายการไม่ครบถ้วน):

  • 0 เพื่อเปลี่ยนเป็นสีเริ่มต้น
  • 1 เพื่อเปิดตัวหนา
  • 30 ถึง 37 เพื่อตั้งค่าสีพื้นหน้า (ดำ, แดง, เขียว, เหลือง, น้ำเงิน, ม่วงแดง, ฟ้า, เทา)
  • 40 ถึง 47 เพื่อตั้งค่าสีพื้นหลัง (รายการเดียวกัน)

นี่คือตัวอย่างของเชลล์ที่ให้ผลลัพธ์เกือบทุกอย่างที่คุณโพสต์

printf "          "
for b in 0 1 2 3 4 5 6 7; do printf "  4${b}m "; done
echo
for f in "" 30 31 32 33 34 35 36 37; do
    for s in "" "1;"; do
        printf "%4sm" "${s}${f}"
        printf " \033[%sm%s\033[0m" "$s$f" "gYw "
        for b in 0 1 2 3 4 5 6 7; do
            printf " \033[4%s;%sm%s\033[0m" "$b" "$s$f" " gYw "
        done
        echo
     done
done

colortest นั้นดี แต่คำตอบนี้ให้สิ่งที่ผู้ถามเดิมถาม นอกจากนี้ยังเป็นการดีที่ได้เห็นรหัสสีบนหน้าจอ ช่วยคิดเกี่ยวกับมัน
pdwalker

8

มีรูปแบบไม่กี่ดีหกจะแม่นยำจดทะเบียนใน Arch วิกิพีเดียมีหน้า Xresouces

เช่นเดียวกับที่ใช้ในภาพหน้าจอของคุณมีบางสิ่งที่สร้างสรรค์มากขึ้น - สิ่งที่ฉันชอบมากที่สุดคือจากฟอรัม Crunchbang และการรุกรานพื้นที่:

#!/bin/bash
#
# ANSI color scheme script featuring Space Invaders
#
# Original: http://crunchbanglinux.org/forums/post/126921/#p126921
# Modified by lolilolicon
#

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
bld=$'\e[1m'
rst=$'\e[0m'

cat << EOF

 $f1  ▀▄   ▄▀     $f2 ▄▄▄████▄▄▄    $f3  ▄██▄     $f4  ▀▄   ▄▀     $f5 ▄▄▄████▄▄▄    $f6  ▄██▄  $rst
 $f1 ▄█▀███▀█▄    $f2███▀▀██▀▀███   $f3▄█▀██▀█▄   $f4 ▄█▀███▀█▄    $f5███▀▀██▀▀███   $f6▄█▀██▀█▄$rst
 $f1█▀███████▀█   $f2▀▀███▀▀███▀▀   $f3▀█▀██▀█▀   $f4█▀███████▀█   $f5▀▀███▀▀███▀▀   $f6▀█▀██▀█▀$rst
 $f1 ▀▄▄ ▄▄▀    $f2 ▀█▄ ▀▀ ▄█▀    $f3▀▄    ▄▀   $f4 ▀▄▄ ▄▄▀    $f5 ▀█▄ ▀▀ ▄█▀    $f6▀▄    ▄▀$rst

 $bld$f1 ▀▄   ▄▀    $f2 ▄▄▄████▄▄▄    $f3  ▄██▄     $f4 ▀▄   ▄▀    $f5 ▄▄▄████▄▄▄    $f6  ▄██▄  $rst
 $bld$f1█▄█▀███▀█▄█   $f2███▀▀██▀▀███   $f3▄█▀██▀█▄   $f4█▄█▀███▀█▄█   $f5███▀▀██▀▀███   $f6▄█▀██▀█▄$rst
 $bld$f1▀█████████▀   $f2▀▀▀██▀▀██▀▀▀   $f3▀▀█▀▀█▀▀   $f4▀█████████▀   $f5▀▀▀██▀▀██▀▀▀   $f6▀▀█▀▀█▀▀$rst
 $bld$f1 ▄▀     ▀▄    $f2▄▄▀▀ ▀▀ ▀▀▄▄   $f3▄▀▄▀▀▄▀▄   $f4 ▄▀     ▀▄    $f5▄▄▀▀ ▀▀ ▀▀▄▄   $f6▄▀▄▀▀▄▀▄$rst


                                     $f7$rst

                                   $f7$rst

                              $f7    ▄█▄    $rst
                              $f7▄█████████▄$rst
                              $f7▀▀▀▀▀▀▀▀▀▀▀$rst

EOF

สเปซีย์


ฉันชอบรูปนี้ แต่ SHW ให้สคริปต์ที่แน่นอนฉันจะเลือกคำตอบของเขา ;-P
daisy

1
ยุติธรรมพอ: หน้าวิกิที่ฉันเชื่อมโยงด้วยรวมถึงสคริปต์ในภาพหน้าจอของคุณด้วย ผมแค่คิดว่านี่เป็นวิธีที่น่าสนใจมากขึ้นในการแสดงสี X :)
jasonwryan

8

ในขณะที่มันไม่ยากที่จะทำซ้ำภาพหน้าจอของคุณน่าจะมาจากtldp.org ; ด้านล่างของหน้านั้นมีสคริปต์ที่แสดงผลตารางที่คุณเห็น:

เพื่อช่วยให้ตัวเองจำได้ว่ามีสีอะไรให้ฉันเขียนสคริปต์ที่ให้สีทั้งหมดไปยังหน้าจอ Daniel Crisman ได้จัดหาเวอร์ชั่นที่ดีกว่าซึ่งฉันรวมไว้ด้านล่าง:

#!/bin/bash
#
#   This file echoes a bunch of color codes to the 
#   terminal to demonstrate what's available.  Each 
#   line is the color code of one forground color,
#   out of 17 (default + 16 escapes), followed by a 
#   test use of that color on all nine background 
#   colors (default + 8 escapes).
#

T='gYw'   # The test text

echo -e "\n                 40m     41m     42m     43m\
     44m     45m     46m     47m";

for FGs in '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
           '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
           '  36m' '1;36m' '  37m' '1;37m';
  do FG=${FGs// /}
  echo -en " $FGs \033[$FG  $T  "
  for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
    do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
  done
  echo;
done
echo

มีตารางที่คล้ายกันนี้เป็นตัวอย่างในไลบรารี F-ANSI :

ตารางสี ANSI ที่สร้างโดย F-ANSI


2
นี่คือคำตอบที่ถูกต้องสำหรับคำถาม
wisbucky

6
echo -e "\n\033[4;31mLight Colors\033[0m \t\t\t  \033[1;4;31mDark Colors\033[0m"
echo -e " \e[0;30;47m Black     \e[0m   0;30m \t\t \e[1;30;40m Dark Gray   \e[0m  1;30m"
echo -e " \e[0;31;47m Red       \e[0m   0;31m \t\t \e[1;31;40m Dark Red    \e[0m  1;31m"
echo -e " \e[0;32;47m Green     \e[0m   0;32m \t\t \e[1;32;40m Dark Green  \e[0m  1;32m"
echo -e " \e[0;33;47m Brown     \e[0m   0;33m \t\t \e[1;33;40m Yellow      \e[0m  1;33m"
echo -e " \e[0;34;47m Blue      \e[0m   0;34m \t\t \e[1;34;40m Dark Blue   \e[0m  1;34m"
echo -e " \e[0;35;47m Magenta   \e[0m   0;35m \t\t \e[1;35;40m Dark Magenta\e[0m  1;35m"
echo -e " \e[0;36;47m Cyan      \e[0m   0;36m \t\t \e[1;36;40m Dark Cyan   \e[0m  1;36m"
echo -e " \e[0;37;47m Light Gray\e[0m   0;37m \t\t \e[1;37;40m White       \e[0m  1;37m"

และอื่น ๆ



0

ฉันไม่แน่ใจว่านี่เป็นคำตอบที่แน่นอนหรือไม่ แต่ที่http://linuxcommand.org/lc3_adv_tput.phpฉันพบว่ามีหลายฟังก์ชั่นที่ทำการทดสอบ tput สำหรับ colorizing BASH

#!/bin/bash

echo "tput colors test"
echo "================"
echo
echo "tput setaf/setab [0-9] ... tput sgr0"
echo

for fg_color in {0..7}; do
  set_foreground=$(tput setaf $fg_color)
  for bg_color in {0..7}; do
    set_background=$(tput setab $bg_color)
    echo -n $set_background$set_foreground
    printf ' F:%s B:%s ' $fg_color $bg_color
  done
  echo $(tput sgr0)
done

echo
echo "END"
echo
exit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.