공백 항목을 설명하기 위해 bash 스크립트를 어떻게 편집할 수 있습니까? [복사]

공백 항목을 설명하기 위해 bash 스크립트를 어떻게 편집할 수 있습니까? [복사]

ffmpeg자동으로 변환하고 mkv > m4vm4v를 열어 메타데이터를 수동으로 가져오는 스크립트를 만들었고 Subler.app, 이때 파일을 iTunes 라이브러리로 이동했습니다.

저는 네트워크에 두 대의 Apple TV가 있고 2007 iMac을 미디어 서버로 사용하기 때문에 iTunes를 사용합니다. ssh이 스크립트를 실행하기 위해 이 컴퓨터에 대한 로컬 액세스 권한이 있습니다 .

공백이 포함된 경로를 입력하면 이 스크립트가 실패합니다.또는 공백이 포함된 영화 제목을 입력하세요. 공백을 수용하도록 이 스크립트를 어떻게 수정합니까? 나는 구문이 엉성하고 스크립팅에 매우 익숙하다는 것을 알고 있으므로 더 나은 실행을 위한 다른 조언이 있으면 크게 감사하겠습니다 :)

여기있어:

    #! /bin/bash

#ffmp4

function convert {
    ffmpeg -i $REPLY -strict -2 -c:v copy -c:a copy -c:s copy $PWD/out.m4v
}

function rename {
    echo "Please Provide the Title:"
    read -e; mv $PWD/out.mp4 $PWD/$REPLY.m4v
}

function subler {
    open -a Subler.app $REPLY.m4v
    } 

cd ~/Public/ &&
while read -e; do
    if [ ${REPLY: -4} == ".mkv" ]; 
    then convert;
        rename;
        subler;
        exit 
    else 
    echo "Error: This is not a valid response" && exit 1
    fi
done

—————————

편집하다:

“$REPLY”질문이 여전히 중복될 수 있지만 구문(try 및 “$(REPLY)”) 을 사용해 보았습니다.연결된 답변여전히 실행할 수 없습니다. 진술서 errors또는 진술서 반환...bad substitution[…bracketed...]echoError:This is not a valid response…

답변1

그래서 코칭 + 시행착오를 통해 해결책을 찾았습니다. “$REPLY”변수를 인용했어요제안을 따르세요…하지만 나는반품스크립트가 올바르게 실행되는 [[…]]대신 필요합니다 . […]이유는 잘 모르겠지만 지금도 작동합니다. SE 커뮤니티에 감사드립니다!

관련 정보