쉘 스크립트에서 vlc를 실행할 수 없습니다

쉘 스크립트에서 vlc를 실행할 수 없습니다

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/bash가 아닌 bin/sh로 실행됩니다.

/bin/sh와 /bin/bash는 같은 것이 아닙니다. /bin/sh로 전환하면 많은 기능이 손실되지만 일부 셸 확장 문제로부터 보호됩니다.

#!/bin/sh쉘을 에서 으로 전환하여 #!/bin/bash문제가 해결되지 않는지 확인하겠습니다.

관련 정보