не могу запустить vlc из скрипта оболочки

не могу запустить vlc из скрипта оболочки

Я пытаюсь разработать скрипт nautilus, который считывает выбранный путь к файлу и ставит его в очередь в проигрывателе vlc. Проблема в том, что если имя файла разделено пробелами, то нужно добавить дополнительный символ '\' в имя файла. Но когда я запускаю vlc с именем файла, vlc не может прочитать файл.

При запуске в терминале:

vlc --playlist-enqueue filename\ space\ name.extension

это просто хорошо работает

но когда я пытаюсь дать ту же команду из файла bash, то vlc не может прочитать файл. Мой скрипт работает для не пробельных имен файлов. В чем проблема? Пожалуйста, помогите. По крайней мере дайте ресурс. Я гуглил, но не могу найти подходящего решения.

заранее спасибо

Отредактировано: мой сценарий

#!/bin/sh
path=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
result=""
cnt=0
for i in $path
do
if [ $cnt -eq 0 ]
then
result=$i
else
result=$result'\ '$i
fi
cnt=`expr $cnt + 1`
done
#vlc --playlist-enqueue "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
vlc --playlist-enqueue "$result"

решение1

Ваш исходный файл запускается с помощью bin/sh, а не bin/bash

/bin/sh и /bin/bash — это не одно и то же. Вы теряете много функциональности при переключении на /bin/sh, но это защищает вас от некоторых проблем расширения оболочки.

Я бы поменял оболочку с #!/bin/shна #!/bin/bashи посмотрел, не решит ли это проблему.

Связанный контент