此脚本以这种方式打印数字,但在脚本中显示错误但无法解码错误。
#!/bin/bash
x=0
while [ $x -lt 10 ]
do
y=$x
while [ $y -ge 0 ]
do
echo "$y \c"
y=$(($y-1))
done #showing done error
echo
x=$(($x+1))
done #showing done error
答案 0 :(得分:-1)
你的脚本很好,但你应该避免使用shell进行这种复杂的处理,因为它们非常慢。
据我所知,你的剧本可能是一个学习练习,但对于 未来,将复杂的处理方法委托给子程序(例如过滤器),并将shell的使用范围缩小到编写程序工作流程,以简单的方式组装特定的复杂元素,这是good habit。
以下是我对AWK的看法:
awk 'BEGIN{
for(i = 0; i < 10; ++i){
for(j = i; j>=0; j--){
printf("%d%s", j, (j > 0 ? " " : "\n"));
}
};
exit
}'
在这里,您可以使用您喜欢的脚本语言,例如Python或Perl,而不是AWK。