无论如何,这不是一个功课,从我正在研究的这部分程序开始。我想要做的是使用bash循环打印这个形状。
********
****
**
这是我到目前为止,它将打印形状,但我试图找到一种方式在echo语句上使用,所以例如,如果我把Var =“8”,然后将var减少2并将它们打印在同一行上。欢迎任何帮助,谢谢
#!/bin/bash
COUNTER="1"
until [ $COUNTER -lt 1 ]; do
echo "**********"
echo " ******** "
echo " ****** "
echo " **** "
echo " ** "
let COUNTER-=1
done
答案 0 :(得分:1)
您可以使用$((expr))表示法在bash中使用算术循环,就像在任何其他编程语言中一样。所以,写一个像
这样的函数function printNx {
N=$1
X=$2
count=0
while $(($count++ < $N))
do
echo -n $X
done
echo ""
}
(在我检查之前不要依赖语法。我编写了大量的脚本语言,让他们感到困惑。)
<强>更新强>
几乎拥有它:
bash $ cat foo.bash
function printNx {
N=$1
X=$2
count=0
while [ $((count ++ )) -lt $N ]
do
echo -n "$X"
done
echo ""
}
printNx 5 '*'
bash $ bash foo.bash
*****
bash $