編集:最後に呼び出されたfixnames.shは、おそらくエラーを生成しています(特に2行目):
#/bin/bash
for x in *\'*;
do
y=$(echo "$x"| sed y/\'\,/__/)
mv "$x" "$y"
done
問題の行は最後のmvコマンドです
mv $OUTDIR/$OLD $OUTDIR/$NEW
次のようなエラーが発生します。
mv '*\* [something about unable to stat this]
このスクリプトは、 http://www.mythtv.org/wiki/Removing_Commercialsや他の場所に投稿されたものからカスタマイズしたものです。mvの目的は、iircで、tmpディレクトリをクリーンアップすることでした(ファイルの名前変更を行うために不器用に使用したシンボリックリンクを削除します)。そのmv行とその前の2行で何が起こっているのか、スクリプトが正常に終了しない原因になっているのか、少しわかりません。ご入力いただきありがとうございます。
#!/bin/sh
VIDEODIR=$1
FILENAME=$2
CHANID=$3
STARTTIME=$4
# MythTV Install Prefix
INSTALLPREFIX="/usr/bin"
USRLOCALPREFIX="/usr/local/bin"
HOMEDIR="/home/xxx"
OUTDIR="/home/xxx/trans-out"
TMPDIR="/home/xxx/trans-out/tmp"
if [ ! -d $TMPDIR ]; then mkdir $TMPDIR; fi
rm -f $TMPDIR/*
# Sanity checking, to make sure everything is in order.
if [ -z "$VIDEODIR" -o -z "$FILENAME" -o -z "$CHANID" -o -z "$STARTTIME" ]; then
echo "Usage: $0 <VideoDirectory> <FileName> <CHANID> <STARTTIME>"
exit 5
fi
if [ ! -f "$VIDEODIR/$FILENAME" ]; then
echo "File does not exist: $VIDEODIR/$FILENAME"
exit 6
fi
# The meat of the script. Flag commercials, copy the flagged commercials to
# the cutlist, and transcode the video to remove the commercials from the
# file.
$INSTALLPREFIX/mythtranscode --chanid $CHANID --starttime $STARTTIME --mpeg2 --honorcutlist --showprogress -o $OUTDIR/$FILENAME.tmp
ERROR=$?
if [ $ERROR -ne 0 ]; then
echo "Transcoding failed for ${FILENAME} with error $ERROR"
exit $ERROR
fi
# use mythlink script to extract program information from database and make link in tmp subfolder for renaming of transcoded version.
$USRLOCALPREFIX/mythlink.pl --link $TMPDIR --chanid $CHANID --starttime $STARTTIME --underscores --separator _ --format %T_%oY%om%od_%S
# remove the map file since we are transcoding
rm -f $OUTDIR/$FILENAME.tmp.map
# set variables for newfilename-link and oldfilename-transcoded file and then to rename transcoded with link name
NEW=$(ls $TMPDIR)
OLD=$(ls $OUTDIR | grep -i "mpg.tmp" | awk '{ print $1; }')
mv $OUTDIR/$OLD $OUTDIR/$NEW
# remove commas and apostraphies
cd $OUTDIR && $USRLOCALPREFIX/fixnames.sh