Сценарий оболочки во время цикла внутри цикла for

с tcsh я хочу напечатать «Hello» для каждого x, y, z, e и f. Но со следующим скриптом он печатает только x. Может ли кто-нибудь сказать мне, как напечатать «Привет» также для y, z, e и f?

#! /bin/tcsh -f
set arr=(x y z e f)

set j = 0
foreach i ($arr)
echo $i
   while ($j < 5)

     echo "Hello"
     @ j++
    end
end 

Результат:
х
Привет
Привет
Привет
Привет
Привет
у
г
е
ф

вы только один раз инициализируете переменную итератора 'j' значением 0. Тебе нужно. для повторной инициализации. переменная в 0 внутри цикла foreach.

j_b 16.05.2022 23:21
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
1
20
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Переместите инициализацию переменной 'j' внутрь цикла foreach:

#! /bin/tcsh -f
set arr=(x y z e f)

foreach i ($arr)
    echo $i
    set j = 0
    while ($j < 5)
            echo "Hello"
            @ j++
    end
end 

Выход:

$ ./s.sh
x
Hello
Hello
Hello
Hello
Hello
y
Hello
Hello
Hello
Hello
Hello
z
Hello
Hello
Hello
Hello
Hello
e
Hello
Hello
Hello
Hello
Hello
f
Hello
Hello
Hello
Hello
Hello

Другие вопросы по теме