pactl list sinks | grep '^[[:space:]]Volume:' | \
head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,'
그것이 내가 가진 것입니다. 깔끔하지는 않지만 사용하기에 충분했습니다. 나는 그것을 할 수 있는 길 을 찾지 못했습니다 . 은 pactl
하나는 싱크만을위한 목록을 가져 오는 수단이하지 않는 것,하지만 그들은 오름차순으로 인쇄됩니다. 그래서 tail
와를 사용하여 n 번째 줄을 선택합니다 head
. 볼륨 라인에는 오른쪽 및 왼쪽 채널에 대해 별도의 볼륨이있을 수 있으며 그 sed
대신에 첫 번째 채널 만 선택합니다.
기록 pactl list sinks short
을 위해 활성 싱크 번호를 얻기 위해를 사용합니다 .
pactl list short | grep RUNNING | sed -e 's,^\([0-9][0-9]*\)[^0-9].*,\1,'
2017-10-05 편집 : 펄스 오디오의 변화로 인해 약간 조정해야했습니다. 여기 내가 지금 가진 것입니다 :
SINK=$( pactl list short sinks | sed -e 's,^\([0-9][0-9]*\)[^0-9].*,\1,' | head -n 1 )
NOW=$( pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,' )
나는 MOD
+10 또는 -10으로 설정하고 경계 검사를하고 마침내 :
pactl set-sink-volume $SINK ${MOD}%
pactl list sinks
볼륨을 제공하지만 set-sink-volume과 같은 쉬운 형식은 아닙니다.