私がやろうとしているのは、DEV 番号に応じて /sound.cfg から VOL 変数を取得することだけです。
cat /sound.cfg
VOL1=20%
Systemd 起動スクリプトには以下が含まれます。
[Service]
Environment="DEV=1"
EnvironmentFile=/sound.cfg
ExecStartPre=-/bin/bash -c "VOL=VOL${DEV} /bin/echo /usr/bin/amixer -c chan.${DEV} sset Mic ${!VOL} dev $DEV"
/usr/bin/amixer -c chan.1 sset Mic dev 1
残念ながら、echo は を必要としない を表示しますVOL1
。Systemd は配列をサポートしていませんが、配列があると非常に便利です。