首页 > 解决方案 > 如何在Shell脚本中绘制星形图案?

问题描述

我正在尝试在 Shell 脚本中创建以下模式设计,我已经为相同的代码编写了下面的代码,但我没有得到预期的结果。有人可以帮忙吗?

期望的输出-->

      *
     **
    ***
   ****
  *****
#! /bin/sh                                                                            
                                                                                      
for ((i=1; i<=5; i++))                                                                
  do                                                                                  
    for ((j=1; j<=5; j++))                                                            

       do                                                                             
             if [ $j > 6-$i ]                                                         
                then                                                                  
                echo -n "* "                                                          
             elif [ $j == 6-$i ]                                                      
              then                                                                    
               echo -n "* "                                                           
             else                                                                     
                echo -n "  "                                                          
              fi                                                                      

    done                                                                              
  echo                                                                                
done   

当前输出-->

*****
*****
*****
*****
*****

标签: linuxshellunix

解决方案


您将需要使用另一个循环来打印前置空格。

for ((i=1;i<=5;i++));             # Loop to create 5 lines of text
do 
  for((k=1;k<=(5-i);k++));        # Loop to padd prepending spaces
  do 
    printf "%s" " ";
  done;
  for ((j=1;j<=i;j++));           # Loop to create asterix
  do 
    printf "%s" "*";
  done;
  printf "\n";                    # Print the carriage return
done

推荐阅读