Справа
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
85%
Левый
amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
Звуковой сервер
Если вы не используете pulseaudio по умолчанию, вы можете указать amixer
, какой сервер использовать с-D pulse
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
Это просто, но документация есть только на справочной странице getopt()
от Solaris и в документации getopts
от bosh
:
http://schilytools.sourceforge.net/man/man1/bosh.1.html
прокрутите вниз до страницы 47 в версии от декабря 2019 года.
Позвольте мне отредактировать ваш пример:
while getopts ":t:(test)c:(call)" name; do
case $name in
t) first=$OPTARG;;
c) second=$OPTARG;;
:) echo "Missing argument for -$OPTARG"; break;;
*) echo 'Invalid option'; break;;
esac
done
shift $((OPTIND-1))
Обратите внимание, что вам может понадобиться заключить в кавычки аргументы, содержащие круглые скобки....
Принимает -c
и --call
.
Обратите внимание, что это работает только с
bosh
кроме того, также поддерживает длинные параметры в стиле UNIX -long
, если optstring
начинается с ()
.
И ksh93
, и bosh
дополнительно поддерживают параметры, начинающиеся с +
, если optstring
начинается с +
. В таком случае $name
содержит +c
вместо c
, если программа была вызвана с +c
.
BTW :Только bosh
поддерживает способ поддержки длинных опций, у которых нет соседней короткой опции. См. справочную страницу bosh
.
Я автор schilytools.