GNU/Linux >> Belajar Linux >  >> Linux

Shell Script untuk mencetak piramida Bintang

Dasar-dasar

Jadi disini kita akan mencetak piramida bintang dalam dua bagian seperti gambar dibawah ini. Kami akan mengulang melalui nomor yang disediakan oleh pengguna dan mencetak paruh pertama bintang menggunakan loop for dan separuh lainnya menggunakan loop for lainnya. Spasi dan karakter baris baru ditambahkan di bagian yang berbeda.

Skrip

1. Edit file /tmp/star_pyramid.sh dan tambahkan skrip di bawah ini ke dalamnya:

#!/bin/bash
makePyramid()
{
  # Here $1 is the parameter you passed with the function i,e 5
  n=$1;

  # outer loop is for printing number of rows in the pyramid
  for((i=1;i<=n;i++))
  do

      # This loop print spaces required
      for((k=i;k<=n;k++))
      do
        echo -ne " ";
      done

      # This loop print part 1 of the the pyramid
      for((j=1;j<=i;j++))
      do
      echo -ne "*";
      done

      # This loop print part 2 of the pryamid.
      for((z=1;z<i;z++))
      do
      echo -ne "*";
      done
      
      # This echo is used for printing a new line
      echo;
  done
}

# calling function
# Pass the number of levels you need in the parameter while running the script.
makePyramid $1

2. Berikan izin yang dapat dieksekusi pada skrip.

# chmod +x /tmp/star_pyramid.sh

3. Saat menjalankan skrip, berikan jumlah level yang Anda inginkan di output. Misalnya:

$ /tmp/star_pyramid.sh 10
          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
 *******************

Cara lain

Berikut adalah cara lain untuk mencetak piramida bintang menggunakan skrip shell.

#!/bin/bash

clear
echo -n "Enter the level of pyramid: "; read n

star=''
space=''

for ((i=0; i<n; i++ ))
do
space="$space "
done

echo "$space|"

for (( i=1; i<n; i++ ))
do

star="$star*"
space="${space%?}"
echo "$space$star|$star";

done

Jadikan skrip dapat dieksekusi dan jalankan.

$ /tmp/star_pyramid.sh
Enter the level of pyramid: 10
          |
         *|*
        **|**
       ***|***
      ****|****
     *****|*****
    ******|******
   *******|*******
  ********|********
 *********|*********

Piramida Angka menggunakan skrip shell

Mirip dengan 2 contoh di atas, Anda juga dapat mencetak piramida angka menggunakan skrip di bawah ini.

#!/bin/bash

read -p "How many levels? : " n

for((i = 0; i < n; i++))
do
k=0
while((k < $((i+1))))
do
echo -e "$((i+1))\c"
k=$((k+1))
done

echo " "
done

Jadikan skrip dapat dieksekusi dan jalankan.

$ /tmp/star_pyramid.sh
How many levels? : 5
1
22
333
4444
55555


Linux
  1. Skrip transliterasi untuk shell linux

  2. Apakah skrip shell adalah bahasa pemrograman?

  3. tentukan shell dalam skrip selama runtime

  1. Tentukan Shell In Script Selama Runtime?

  2. Waktu Habis Dalam Skrip Shell?

  3. Jalankan skrip shell sebagai pengguna yang berbeda

  1. Perilaku Tak Terduga Dari Skrip Shell?

  2. Bagaimana Membuat File Sementara Di Shell Script?

  3. Proses Dalam Sesi Dalam Shell Interaktif Vs Dalam Skrip?