【发布时间】:2014-11-13 19:21:45
【问题描述】:
我正在尝试制作随机颜色输出字符串
我的文件名是 abc,我输入的命令是 abc RANDOM love_bash
color=(0;30 0;31 0;32 0;33 0;34 0;35 0;36 0;37)
color2=${#color[*]}
input='^random$'
shopt -s nocasematch
if [[ $1 =~ $input ]]; then
echo -ne '\e['${color[$((RANDOM%color2))]}m
exit 2
fi
当我输入命令以获取随机输出时,我得到了
./echoc: line 22: syntax error near unexpected token `;'
./echoc: line 22: `color=(0;30 0;31 0;32 0;33 0;34 0;35 0;36 0;37)'
./echoc: line 42: RANDOM%color2: division by 0 (error token is "color2")
【问题讨论】:
-
数组索引已经在算术上下文中进行了评估;这里不需要
$((...))。
标签: bash