में रिक्त स्थान के साथ फ़ाइल नाम मैं स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो बड़ी तस्वीरों को एचडी वॉलपेपर में फसल और आकार बदल देगा।BASH
#! /bin/bash
for i in `ls *.jpg`
do
width=`identify -format '%w' $i`
height=`identify -format '%h' $i`
if [ `echo "$width/$height > 16/9" | bc -l` ]
then
exec `convert $i -resize 1920 -gravity Center -crop '1920x1080+0+0' +repage temp`
else
exec `convert $i -resize x1080 -gravity Center -crop 1920x1080+0+0 +repage temp`
fi
rm $i
mv temp $i
done
लेकिन ऐसा लगता है कि स्क्रिप्ट में फ़ाइल नामों के साथ समस्याएं हैं (जैसे टम्बल वीड.जेपीजी)। मैं इसे कैसे ठीक करूं?
उत्तर पहले से ही नीचे दिया गया है, लेकिन मैं यह जोड़ना चाहूंगा कि शेल स्क्रिप्टिंग फ़ाइल नामों में रिक्त स्थान को संभालने के लिए वास्तव में खराब है क्योंकि कई सूचियां स्थान-सीमित हैं - विशेष रूप से कमांड तर्क। उदाहरण के लिए एसपीपी के माध्यम से अंतरिक्ष के साथ एक फ़ाइल की प्रतिलिपि बनाने का प्रयास करें! मैन्युअल भागने के बिना यह लगभग असंभव है। – Timmmm
आपको पूरी तरह से 'http: // mywiki.wooledge.org/BashPitfalls' पढ़ना चाहिए :-) यह आपके बैश कौशल – Benoit