空白のエントリを説明するためにbashスクリプトをどのように編集できますか? [コピー]

空白のエントリを説明するためにbashスクリプトをどのように編集できますか? [コピー]

ffmpeg自動的に変換してmkv > m4vm4vを開き、メタデータを手動でインポートするスクリプトを作成しSubler.app、その時点でファイルをiTunesライブラリに移動しました。

私はネットワークに2台の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コミュニティに感謝!

関連情報