راستی هر برنامه ای باید تست بشه. چه ۲ سطر کد داشته باشه چه ۱۰۰۰ سطر.
پس بیا تستش کنیم:
12:10:11 hossein@ArchLinux ~ du -sh Images
13M Images
12:10:33 hossein@ArchLinux ~ cd Images
12:10:40 hossein@ArchLinux Images touch mybash
12:10:49 hossein@ArchLinux Images chmod u+x mybash
12:10:56 hossein@ArchLinux Images nano mybash
12:11:02 hossein@ArchLinux Images cat mybash
#!/bin/bash
for img in "$@"
do
convert "$img" -resize "1280x960>" $(basename "$img" .JPG)_new.jpg
done
mkdir archived
mv *_new.jpg archived
12:11:07 hossein@ArchLinux Images ./mybash *.jpg
12:11:26 hossein@ArchLinux Images du -sh archived
1.4M archived
12:11:46 hossein@ArchLinux Images
13 مگ شد 1.4 مگ! یعنی کار کرد، میتونی هم به جای resize سوییچ quality رو استفاده کنی.
سلام اگه بخوایم مسیر عکسها رو بصورت متغیر بهش بدیم چطور باید ویرایشش کرد؟ مثلا از کاربر بخواد مسیر رو وترد کنه و کاربر هم به اینصورت مسیر رو بده
با read از کاربر داده میگیری و var name رو میدی جایی که مورد نیازه.
همون اسکریپتی که مهران نوشته بود رو ویرایش میکنم:
#!/bin/bash
IFS=$'\n'
read -p "Directory path: " response
cd $response
files=`ls -1 $1`
archivedDir=$1/'archived'
mkdir $archivedDir
for img in $files; do
convert $1/$img -quality 70 $archivedDir/$img
done
منتظرم دوستمون به سوال پاسخ بده اسکریپت ایشون کار میکنه
اگه ارزش وقتی که دیگران برات میذارن رو بدونی و پیامهاشون رو با دقت بخونی (اشاره به پست #3) متوجه میشی که اسکریپت من هم کار میکرد ولی وقتی شما حتی به خودت زحمت نمیدی سرچ کنی که argV چیه معلومه کار نمیکنه.
راستی هر برنامه ای باید تست بشه. چه ۲ سطر کد داشته باشه چه ۱۰۰۰ سطر. موفق باشی
فعلا که کار کرد!
من قصد بی احترامی نداشتم اگ لحنم تند بود عذرمیخوام.
شما زحمت کشیدین منم متشکرم ک وقت میذارین