Как проверить различные значения одного и того же параметра - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть пользовательская команда, которая выглядит следующим образом:

bashcustomCommand cfgAlert -i 1

Однако значение i может быть любым из 1 to 4 Я хочу изменить пользовательскую команду, чтобы она учитывала все значения i from 1 to 4 в одной команде

На данный момент я написал это, как показано ниже:

bashcustomCommand cfgAlert -i 1
bashcustomCommand cfgAlert -i 2
bashcustomCommand cfgAlert -i 3
bashcustomCommand cfgAlert -i 4

Я хочу написать одну команду, которая учитывает все 4 values

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Я предполагаю, что вы присваиваете значение $i для этого примера.

if [[ a == "$i" ]]
then for this in {1..4}
     do  "$0" "$1" -i "$this"
     done
     exit
fi

Если это 1, 2, 3 или 4, он будет делать то, что всегда делает. Если это a, он будет циклически перебирать те, которые находятся в вызовах, и затем завершается.

Я бы добавил проверку ошибок и тому подобное, но это избавит вас от необходимости вводить цикл в командной строке.

0 голосов
/ 05 ноября 2018
echo {1..4} | xargs -n 1 echo bashcustomCommand cfgAlert -i

Выход:

bashcustomCommand cfgAlert -i 1
bashcustomCommand cfgAlert -i 2
bashcustomCommand cfgAlert -i 3
bashcustomCommand cfgAlert -i 4

Удалите вторую echo, если все выглядит хорошо.

...