wolf0403 发表于 2005-5-10 04:06:12

奇怪脚本问题,请求帮助(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 一行没有执行(直接跳过),而之前插入任何命令都执行正常。小弟百思不得其解,请各位兄弟帮忙看看。

BOoRFGOnZ 发表于 2005-5-10 08:10:59

只不过是在后台

wolf0403 发表于 2005-5-10 09:00:33

楼上仁兄,去掉最后那个 & 在我这里没有区别,何况 echo 'abc' & 还是会输出的。
希望看到有价值的回复

BOoRFGOnZ 发表于 2005-5-10 10:05:19

">/dev/null 2>&1 & "
:idea:

wolf0403 发表于 2005-5-10 11:09:16

寒。。。脑子糊涂了。
谢谢!!
页: [1]
查看完整版本: 奇怪脚本问题,请求帮助(bash)