Bash ищет команды для выполнения в каталогах, указанных в переменной среды PATH
.
Однако в вашем сценарии bash уже выполнил свою работу и запустил команду play
. applause.mp3
передается в качестве аргумента. Это полностью зависит от команды play
, как она ее интерпретирует.
В распространенном сценарии, когда команда принимает аргумент имени файла, она анализирует путь, начиная с текущего каталога (вот почему это сработало для вас, когда вы изменили каталог на / bin
перед вызовом сценария. ).
Чтобы избежать проблем, вы должны использовать в аргументе абсолютный путь (начиная с /
).
Не уверен, что ALSA может это сделать.
Можно ли использовать Pulseaudio? Он отделяет транспорт от источников/приемников, поэтому используйте модуль Pulseaudio для создания двух источников для правого и левого каналов. Затем вы можете приостановить чтение приложений из одного источника, в то время как чтение приложений из другого источника продолжится.
Вам понадобятся два модуля -переназначения -источника . Используйте pacmd
или pactrl
, чтобы сделать их. Поэкспериментируйте, пока не заработает (сначала удалите их с помощью unload-module
, если вы хотите что-то изменить ), затем поместите это в файлы конфигурации Pulseaudio. Используйте pavucontrol
, чтобы получить представление о том, какие у вас есть источники/приемники и какие приложения их используют, а также для установки томов.