- 论坛徽章:
- 0
|
本帖最后由 caterpilar 于 2015-04-05 17:05 编辑
想写一个叫本,像使用html标签一样使用color,使用方法如下:
$ ./cecho.sh "aaaaaa<WQCCL red,black>bbbb cccc</WQCCL>ddddd"
aaaaaa\033[0${fred}${bblack}mbbbb cccc\033[0mddddd
其中的 fred, bblack已经定义为变量
但现在是没有二次展开,看不到效果
代码如下:
24 fblack=";30"
25 fred=";31"
26 fgreen=";32"
27 fyellow=";33"
28 fblue=";34"
29 fpurple=";35"
30 flightblue=";36"
31 fgray=";37"
32 f=";"
33
34 bblack=";40"
35 bred=";41"
36 bgreen=";42"
37 byellow=";43"
38 bpurple=";44"
39 bblue=";45"
40 bpurple=";46"
41 bgray=";47"
42 b=";"
43
44 #aa=`echo $@ |sed -e 's/<WQCCL\s*\([^,> ]\+\)\s*,\s*\([^ >]\+\)>/\\\033[0\\\;\${f\1}\\\;\${b\2}m/g' -e 's/<\/WQCCL>/\\\033\[0m/g'`
45 aa=`echo $@ |sed -e 's/<WQCCL\s*\([^,> ]\+\)\s*,\s*\([^ >]\+\)>/\\\033[0\${f\1}\${b\2}m/g' -e 's/<\/WQCCL>/\\\033\[0m/g'`
46 echo $aa
47 bb=`echo $aa`
48 echo -e "${bb//033/\\033}"
请高手们指点一下。
如果使用 eval bb="$aa",可以显示,但'bbbb'和'cccc'之间不能有空格。
|
|