你如何在bash中制作一个反向数字金字塔

时间:2016-10-06 04:56:08

标签: bash

我正在尝试制作一个输出

的反向金字塔
$ ./reverse_pyramid **3**

  1 2 3 2 1 
    1 2 1
      1

这就是我所拥有的但它没有输出任何语法错误:

#!/bin/bash

 # get input

read -p "Enter number:" num

 #outside of pyramid

for((i=1;i>=num;i--))
do

    #Loop to print numbers
    for((s=i;s>=num;s--))
    do
        echo -ne "@"
    done

    #left half
    for((j=1;j<=i;j++))
    do
        echo -ne "$j"
    done

    #right
    for((l=(i-1);l>=1;l--))
    do
        echo -ne "$l"
    done

    #add a line
    echo 
done

1 个答案:

答案 0 :(得分:1)

这是由于这一行:

for((i=1;i>=num;i--))

您将i设置为1,小于输入数3,这样您的循环就不会执行。

作为旁注,我建议你在调试bash程序时使用-x选项:

bash -x myprogram.sh

这将向您显示可能出错的所有执行步骤和精确点