2016-01-26 72 views
0

我想编辑一个我在网上找到的脚本。该脚本应该所有文件转换成一个目录,将它们放置在其他目录(使用手刹),但它只是传递文件的第一个字,而不是随后的文字或文件扩展名转换文件并将它们放在另一个目录中

#!/bin/bash 
SRC="/var/www/mediacenter/convert" 
DEST="/var/www/mediacenter/converted" 
DEST_EXT=mp4 
HANDBRAKE_CLI=HandBrakeCLI 
#PRESET = " -e x264 -E av_aac -q 22" 

for FILE in "$SRC"/* 
do 
filename=$(echo $FILE | cut -f 1 -d '.') 
extension="${filename##*.}" 
filename="${filename%.*}" 
echo $filename.$DEST_EXT 
$HANDBRAKE_CLI -i "$FILE" -o $FILE.$DEST_EXT $PRESET 
done 

回声作品我试过引用它,但找不到合适的组合。

+0

在'$ HANDBRAKE_CLI'和'set + x'之前加'set -x'就行了。你会看到带有前导符号'+'的行,并且所有字符串都将被“标准化”以使用单引号。然后,您将看到正在运行的命令,并更好地了解将引用或变量赋值更改/修复的位置。祝你好运。 – shellter

+2

通常,在提问时,尝试创建描述问题的标题,而不是您的状态。这样,其他人就可以搜索问题并找到你的问题,知道答案的人会在列表中看到它,并能够找到并回答它。说这是一个“初学者bash脚本问题”帮助知道一个。 – dimo414

回答

2

当文件名包含空格时,您需要添加双引号。

$HANDBRAKE_CLI -i "$FILE" -o "$FILE.$DEST_EXT" $PRESET 
相关问题