Если MESG не установлен,
echo ${MESG:?}
напечатает
MESG: parameter null or not set
echo ${MESG:-}
напечатает
<empty string>
? и поэтому -определяет, как обрабатываются нулевые или не установленные переменные
После долгих поисков я понял, что проблема связана с менеджером пакетов snap. По-видимому, по умолчанию snap не может получить доступ к каталогу мультимедиа, поэтому нам нужно исправить это вручную.
Проверьте, есть ли у ffmpeg доступ к removable-media
, как показано ниже
> snap connections | grep ffmpeg
desktop ffmpeg:desktop :desktop -
home ffmpeg:home :home -
network ffmpeg:network :network -
network-bind ffmpeg:network-bind :network-bind -
opengl ffmpeg:opengl :opengl -
optical-drive ffmpeg:optical-drive :optical-drive -
pulseaudio ffmpeg:pulseaudio :pulseaudio -
wayland ffmpeg:wayland :wayland -
x11 ffmpeg:x11 :x11 -
Добавьте это разрешение, если оно отсутствует
sudo snap connect ffmpeg:removable-media