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

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

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

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

он работает хорошо

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

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

Отредактировано: my script

#!/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"
Отредактировано: my script

#!/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"
0
задан 29 October 2011 в 22:46

1 ответ

Исходный файл работает с bin / sh not bin / bash

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

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

2
ответ дан 25 May 2018 в 17:27

Другие вопросы по тегам:

Похожие вопросы: