используйте pactl set-stream-volume x 130%
. Замените x на соответствующий объем стока (может помочь завершение bash. Для меня 0 соответствует выходу hdmi, а 1 - аналоговому выходу). Вы также можете использовать + 30% вместо 130%, чтобы увеличить громкость.
Ваш код генерирует синтаксическую ошибку для каждого элемента, который не установлен.
$ echo "${cluster1[0]+1}+${cluster2[0]+1}+${cluster2[0]+1}"
1+1+1
$ echo "${cluster1[1]+1}+${cluster2[1]+1}+${cluster3[1]+1}"
1+1+
В этом случае было бы лучше подсчитывать элементы набора, а не пытаться вычислять с помощью сгенерированного выражения:
#!/bin/bash
cluster1=(x y)
cluster2=(a b)
cluster3=(m)
for (( i = 0; i < 3; ++i )); do
is_set=( ${cluster1[i]+"1"} ${cluster2[i]+"1"} ${cluster3[i]+"1"} )
printf 'i=%d:\t%d\n' "$i" "${#is_set[@]}"
done
Это создает новый массив is_set
, который будет содержать 1
для каждого массива, содержащего элемент с индексом i
. 1
не имеет значения и может быть любой строкой. Количество элементов в массиве is_set
(${#is_set[@]}
)равно количеству элементов набора из массивов cluster
по этому индексу.
Тестирование:
$ bash script.sh
i=0: 3
i=1: 2
i=2: 0
Возможно, это грязный трюк, но как насчет префикса0
(сейфа, поскольку «Альтернативное значение» является допустимым восьмеричным числом):
my=$((0${cluster1[1]+1}+0${cluster2[1]+1}+0${cluster3[1]+1}))
echo $my
2