大家好:我正在编写一个xfe脚本,以给定的目录作为源文件,使用zenity获取输出目录并执行一些操作,例如:
#!/bin/bash
OUTPUT_DIR=`zenity --file-selection --directory --filename="$1"`
if [ $? == 0 ]; then
find . -maxdepth 1 -type f -name "*.wav" -exec bash -c 'oggenc -Q "$0" -q 3 "$OUTPUT_DIR/${0%.wav}.ogg"' {} \;
fi
当脚本被调用时,oggenc未被执行...有什么想法吗?
解决方案:根据下面的答案,这将按预期工作:
#!/usr/bin/sh
OUTPUT_DIR=$(zenity --file-selection --directory --filename="$1")
if [ $? = 0 ]; then
export OUTPUT_DIR
find "$1" -maxdepth 1 -type f -name "*.wav" -exec sh -c 'oggenc -Q "$0" -q 3 -o "${OUTPUT_DIR}/$(basename "${0/.wav/.ogg}")"' {} \;
fi
zenity --info --text="Done"
OUTPUT_DIR
之前将其导出吗? - Joel${OUTPUT_DIR}/${file/.wav/.ogg}
变成了这样:**/home/XXX/Música/test/out//home/XXX/Música/test/in/ringout.ogg**。 - Joelbasename
。我会更新我的答案。 - vsminkov