终端文件夹颜色怎么改变(不是ls命令,是'$'符号前的文件夹)?

如图蓝色和绿色部分
ps:目前我用的是WSL的bash
图片描述

阅读 4.2k
4 个回答

设置 PS1 变量。颜色是通过 ANSI 转义序列来表达的。给你一个256色色彩表:

#!/bin/bash
# 显示终端色彩表

mod=$1
color () {
  printf "\e[01;$mod;38;5;%sm%4s" $1 $1;
}

# 基本 16 色
for i in {0..7}; do
  color $i
done
echo
for i in {8..15}; do
  color $i
done
echo;echo

for k in `seq 0 1`;do 
  for j in `seq $((16+k*18)) 36 $((196+k*18))`;do 
    for i in `seq $j $((j+17))`; do 
      printf "\e[01;$1;38;5;%sm%4s" $i $i;
    done;echo;
  done;
done
echo

# 灰色
for i in {232..255}; do
  color $i
done
echo

PS1变量中定制即可

图片描述

这种效果是使用 powerline-shell 实现的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题