奇怪脚本问题,请求帮助(bash)
一个利用 mplayer 和 lame 进行 mp3 编码的脚本#!/bin/bash
SRC=$1
DST=$2
TITLE="$TITLE"
ARTIST="$ARTIST"
if [ -n "$DEBUG" ]; then
MPLAYER=echo
LAME=echo
else
MPLAYER=mplayer
LAME=lame
fi
TMPPIPE=".${RANDOM}p"
while [ -a "$TMPPIPE" ]; do
TMPPIPE=".${RANDOM}p"
done
mknod "$TMPPIPE" p
trap "rm -f $TMPPIPE" EXIT
if [ -z "$TITLE" ]; then
echo -n "Title: "
read TITLE_U
TITLE="`echo $TITLE_U | iconv -t gbk`"
fi
if [ -z "$ARTIST" ]; then
echo -n "Artist: "
read ARTIST_U
ARTIST="`echo $ARTIST_U | iconv -t gbk`"
fi
T=
if [ -n "$TITLE" ]; then
T="--tt $TITLE"
fi
A=
if [ -n "$ARTIST" ]; then
A="--ta $ARTIST"
fi
echo "MPLAYER: $MPLAYER"
echo "LAME: $LAME"
echo "TMPPIPE: $TMPPIPE"
echo "SRC: $SRC"
$MPLAYER -aofile $TMPPIPE -ao pcm $SRC >/dev/null 2>&1 &
$LAME -h --scale 3 --abr 48 -m m "$T" "$A" "$TMPPIPE" "$DST"
用 $ DEBUG=1 ./convwma 执行的时候发现倒数第二行,也就是 $MPLAYER -aofile 一行没有执行(直接跳过),而之前插入任何命令都执行正常。小弟百思不得其解,请各位兄弟帮忙看看。 只不过是在后台 楼上仁兄,去掉最后那个 & 在我这里没有区别,何况 echo 'abc' & 还是会输出的。
希望看到有价值的回复 ">/dev/null 2>&1 & "
:idea: 寒。。。脑子糊涂了。
谢谢!!
页:
[1]