私は現在、ストリーミング放送ストリームを録画するための単純なbashスクリプトを書いています。出勤して出勤準備をする過程で私のお気に入りの朝放送を30分ほど逃すことになるので、出勤する約15分前に録画を開始するように業務用コンピュータのクローンスケジュールに設定するようにこのスクリプトを作成しました。 。
次のスクリプトの抜粋は機能しません。
echo ${FILEFULLPATH} | xargs -t screen -dmS ${STATION_NAME}Stream mplayer ${STATION_URL} -dumpstream -dumpfile
ただし、実行xargs -t
出力は正常に動作します。screen -ls
画面にscreen -r
コマンドが実際に実行中であることを示します。出力コマンドは次のとおりです。
screen -dmS RadioXStream mplayer http://radiostream.net/ -dumpstream -dumpfile ~/radio/radiostream_06102015-1316.mp3
私はそれを使用し、set -x
すべてが大丈夫に見えます。スクリプトの実行後に実行時にscreen -ls
生成する必要がある画面はありません。
私はこのコマンドをMinecraftサーバー用に書いた古いスクリプトに基づいています。唯一の主な違いは、相対ディレクトリを引用符で囲むので、ここでファイルパスにxargsを使用することです。'~/radio/file.mp3'
ベストアンサー1
問題は確かにxargsを使用して発生します。すべての変数を変数に入れるのではなく、コマンドラインに貼り付けて問題を解決しました。
screen -dmS ${STATION_NAME}Stream mplayer ${STATION_URL} -dumpstream -dumpfile ${DIRECTORY}${STATION_NAME}_${DATETAG}.mp3
ご意見ありがとうございます。