печатать только переменные со значением - PullRequest
0 голосов
/ 09 июля 2020
value1=yellow
value2=
value3=red
value4=pink
value5=

Мне нужно распечатать только содержимое строки со значениями (= значение1, значение3, значение4)

#!/bin/bash
value1=yellow
value2=
value3=red
value4=pink
value5=

for a in {1..5}
do
echo $value$a
done

1 Ответ

4 голосов
/ 09 июля 2020

Вы можете использовать косвенную ссылку переменную, а затем проверить, пуста ли она.

#!/bin/bash

value1=yellow
value2=
value3=red
value4=pink
value5=

for a in {1..5}
do
    var=value$a
    val=${!var}
    [[ -n ${val} ]] && echo "${val}"
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...