ดังนั้นฉันจึงเขียนสคริปต์เล็ก ๆ น้อย ๆ นี้สำหรับแปลงวิดีโอเป็น mp3:
#! /bin/bash -x
if [ -z "$1" ]
then
zenity --warning --text="Error - No file selected !"
exit 1
fi
BASEFILENAME=${1%.*}
exec ffmpeg -i "$1" -ab 256k "$BASEFILENAME.mp3" &&
if [ "$?" -eq 0 ]
then
zenity --info --text="Converting successful"
exit
fi
ปัญหาคือแม้ว่าคำสั่ง ffmpeg จะถูกดำเนินการอย่างประสบความสำเร็จ if [ "$?" -eq 0 ]
ดูเหมือนจะไม่ถูกกระตุ้น ทำไมถึงเป็นอย่างนั้น? คือ&&
ผิดหรือมันคือสิ่งอื่นใด
&&
คำสั่งหลังจาก ffmpeg มันใช้งานได้จริง ฉันยังมีคำถามอีกหนึ่งคำถามถ้าไม่เป็นไรที่นี่ - มีวิธีแสดง stdout และ stderr ของ ffmpeg ที่ไหนสักแห่งโดยไม่ต้องใช้หน้าต่างเทอร์มินัลหรือไม่? เช่นเดียวกับใน zenity fe