Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash颜色变化效果如何?_Bash - Fatal编程技术网

bash颜色变化效果如何?

bash颜色变化效果如何?,bash,Bash,我是bash脚本的新手,正在编写一个脚本来显示i3blocks中的电池状态。我有一个小闪电符号,表明电池正在充电。我想让它在绿色和其他颜色之间切换。下面的代码在充电时输出绿色螺栓图示符,只是停留在如何使其交替颜色上 #! /bin/bash bat=$(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep percentage | cut -c26-) bat=$(echo "${bat//%}") ac=$(acpi -a

我是bash脚本的新手,正在编写一个脚本来显示i3blocks中的电池状态。我有一个小闪电符号,表明电池正在充电。我想让它在绿色和其他颜色之间切换。下面的代码在充电时输出绿色螺栓图示符,只是停留在如何使其交替颜色上

#! /bin/bash
bat=$(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep 
percentage | cut -c26-)
bat=$(echo "${bat//%}")
ac=$(acpi -a | cut -c12-)
warning="<span color='orange'><span font='FontAwesome'></span></span>"
red="<span color='red'><span font='FontAwesome'> Charge!</span></span>"
charged="<span color='green'><span font='Monaco'>Charged!</span></span>"
bolt="<span color='green'><span font='FontAwesome'></span></span>"
boltz="<span color='black'><span font='FontAwesome'></span></span>"

if [ "$ac" == on-line ] && [ "$bat" -le 94 ]; then
  echo " $bolt" #this is where i want the color to switch
elif [ "$ac" == on-line ] && [ "$bat" -ge 95 ]; then
  echo "Charged"

else
  if [ "$bat" -ge 95 ]; then
    echo ""
  elif [ "$bat" -ge 70 ]; then
    echo ""
  elif [ "$bat" -ge 50 ]; then
    echo ""
  elif [ "$bat" -ge 30 ]; then
    echo "$warning"
  elif [ "$bat" -ge 10 ]; then
    echo "$red"
  fi
fi
#/bin/bash
bat=$(upower-i/org/freedesktop/upower/devices/baty|u BAT1|grep
百分比|切割-c26-)
bat=$(回显“${bat/%}”)
ac=$(acpi-a |切割-c12-)
警告=”"
红色=” 冲锋!"
冲锋!"
螺栓=”"
博尔茨=”"
如果[“$ac”==在线]&&[“$bat”-le 94];则
回声“ $螺栓“#这是我想要切换颜色的地方
elif[“$ac”==在线]&&[“$bat”-ge 95];然后
回声“充电”
其他的
如果[“$bat”-ge 95];则
回声“"
elif[“$bat”-ge 70];然后
回声“"
elif[“$bat”-通用电气50];然后
回声“"
elif[“$bat”-ge 30];然后
回显“$warning”
elif[“$bat”-ge 10];然后
回声“$red”
fi
fi

i3blocks似乎遵循与格式化相关的规则。这“可能”包括使用转义码输入的脚本,您只需确认即可。(许多i3blocks脚本都是用perl编写的,例如。)我使用了你提到的电池脚本。我正在学习shell脚本,只是想尝试一下。我尝试了使用转义码输入。它在终端中工作正常,但在块中没有。是的,颜色调用似乎是用html符号指定的,例如
\000000
表单。我没有一直遵循它来完成I3C块ode,但这似乎是我们想要的。i3block代码中也有一个使用
fprintf
escape
函数,但它似乎没有寻找颜色的ANSI转义。