पूरा कर लिया है, जबकि मुझे लगता है कि मैं एक फ़ोल्डर के भीतर से संसाधन के लिए वीडियो बनाया एक bash स्क्रिप्ट है और यह उप-फ़ोल्डर है:बैश कार्य जब तक पाश इंतजार
find . -type f -name '*.mkv' | while read file;
do
ffmpeg -i $file ...
done
समस्या: जबकि पाश पूरा करने के लिए ffmpeg इंतज़ार करने के बजाय यह लूप के माध्यम से फिर से जारी है। अंतिम परिणाम यह है कि फाइलें संसाधित नहीं हो रही हैं। मैं जबकि पाश यात्रा जब तक ffmpeg अगले करने के लिए आगे बढ़ने से पहले पूरा हो गया है प्रतीक्षा करने के लिए वर्तमान के लिए एक तरह से की जरूरत है। या वैकल्पिक रूप से इन वस्तुओं को कतार करने का एक तरीका है।
संपादित करें: तो समाधान जब फ़ाइलों का सेट से अधिक पुनरावृत्ति ffmpeg को -nostdin परम पारित करने के लिए है। उम्मीद है कि यह किसी और की मदद करेगा जो एक समान मुद्दा हो सकता है।
भी फाइल -> $ फ़ाइल एक कॉपी/पेस्ट टाइपो था।
शायद का उपयोग कर पृष्ठभूमि में प्रक्रिया छड़ी 'और' 'ffmpeg' आदेश के अंत में? – squiguy
ffmpeg को समाप्त करने के लिए आपको क्या इंतजार करना चाहिए। क्या आप वाकई ffmpeg (जैसे अमान्य पैरामीटर) से कोई त्रुटि नहीं प्राप्त कर रहे हैं? – Mat
लूप जैसा आपके पास है, तब तक प्रतीक्षा करना चाहिए जब तक कि प्रत्येक आंतरिक आदेश चलता है, जब तक आप लाइन के अंत में '& 'नहीं डालते। क्या आपको कोई त्रुटि संदेश प्राप्त होता है? साथ "गूंज" आंतरिक आदेश prefacing और यह के बाद एक सोने 1 जोड़ने, सत्यापित करें कि पाश ही मुद्दों की जरूरत नहीं है की कोशिश करो। उदाहरण के लिए, आपके द्वारा दी गई कमांड लाइन में, आप '$ file' – user295691