Программа Bash Loop - PullRequest
       0

Программа Bash Loop

1 голос
/ 08 октября 2011

В любом случае, это не домашняя работа, чтобы начать с этой части программы, над которой я работаю. то, что я пытаюсь сделать, это напечатать эту форму, используя петли bash.



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

Это то, что у меня есть, оно будет печатать форму, но я пытаюсь найти способ использовать его в выражении echo, например, если я поставлю Var = "8", а затем уменьшу var на 2 и напечатайте их в одной строке. Любая помощь приветствуется спасибо

 #!/bin/bash 
         COUNTER="1"
            until [  $COUNTER -lt 1 ]; do
echo  "**********"
echo  " ******** "
echo  "  ******  "
echo  "   ****   "
echo  "    **    "

              let COUNTER-=1
        done

1 Ответ

1 голос
/ 08 октября 2011

Вы можете сделать цикл с арифметикой в ​​bash, используя нотацию $ ((expr)), так же, как и в любом другом языке программирования.Итак, напишите такую ​​функцию, как

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 $ 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...