کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
|
2011-11-29, 03:43 AM,
ارسال : #1
|
|||
|
|||
کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
سلام من قصد دارم یه سری عکس رو از دایرکتوری بخونم و به یه انکدر بدم، انکدر (که برنامه شو به شکل دستور دارم) فایل رو تبدیل کرده و (محض سادگی) با نام مناسب در همون پوشه بذاره
شبه کدش اینه میشه: کد : List = ls(PicDir) اینم کدی که دست و پا شکسته نوشتم: کد : #!/bin/bash الان یه سری مشکل کلی دارم مثلا اینکه چطور میتونم خروجی بگیرم و چطور میتونم اسم فایل خروجی رو با فرمتی که گفتم به تابع بدم تا در خروجی بذاره... من هنوز مطمئن نیستم ولی تابع ممکنه از اون انواعی باشه که خروجی و ورودی رو تحت آپشن های -i و -o میگیرن...در این صورت چطور میتونم دستور رو در هر حلقه به نحوه درستی به بش بدم؟ |
|||
2011-11-29, 09:50 AM,
ارسال : #2
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
یک اسکریپت ساده مثل این :
کد : #!/bin/bash فقط حواست باشه که من اسم این برنامه رو گذاشتم script.sh و توی همون پوشه که فایل ها توش هست گذاشتم و اجرا کردم . در معنا کدی که شما می خواهید چیزی شبیه اینه : کد : #!/bin/bash دومی هم بعد از تبدیل آنها رو به فرمت اصلی تغییر نام میده . Debian GNU/Linux System Administrator |
|||
2011-11-29, 12:00 PM,
ارسال : #3
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
ممنون دوست عزیز
تقریبا دستم اومد که چیکار کنم، بخصوص اون راه حل ls جالب بود. اینم میشه، البته غیر حرفه ای هست: کد : i=1 با این حل بازم خطا میگیرم، واسه همین کارو ساده کردم. فرض کردم از ffmpeg استفاده میکنم بنابرین یه چیزی تو این مایه میشه کد : #!/bin/bash ولی باز ارور میده، فرض کردم چند تا فایل mp4 دارم و میخوام به mp3 تبدیل کنم، انکدری که استفاده میکنم احتمالا تا حد زیادی شبیه اینه بهار حل ممنون بازم کمی باهاش ور میرم شاید درست شد... شاید لازم باشه یه چند ساعت وقت بذارم و مقدمات باش رو از اول یاد بگیرم |
|||
2011-11-29, 02:28 PM,
ارسال : #4
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
مشکل شما اگه فقط دستور ffmpeg هستش . از این میتونی استفاده کنی :
کد : #!/bin/bash به جای format فرمت مورد نظر رو بزار مثلا : avi . یادم میاد یه چیزی بود به نام basename که باهاش میشد فرمت فایل رو از اسمش جدا کرد ! الان هیچی فکر میکنم چیزی یادم نمیاد ! Debian GNU/Linux System Administrator |
|||
2011-11-29, 03:25 PM,
ارسال : #5
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
این هم یه نگاه بندازید.
<!-- m --><a class="postlink" href="http://linuxmotto.ir/blog/?p=215">http://linuxmotto.ir/blog/?p=215</a><!-- m --> Don't bother, we're using GNU/Linux everywhere, even there Linuxmotto گروه کاربران لینوکس اصفهان |
|||
2011-11-29, 04:19 PM,
ارسال : #6
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
خیلی ممنون دوستان
مشکلم تقریبا دیگه حل شده این مشکل خروجی ls و متغیر IFS جالب بود... یه مشکلی هم که توی قبل داشتم این بود که دقیقا نمیدونستم چجوری خروجی ls رو توی متغیر بریزم (از روی مثالها از کوتیشن استفاده میکردم که جواب نمیداد) ولی با توجه به کدی که جناب mah454 گذاشتن مشکلم حل شد مرسی |
|||
2011-12-03, 02:56 AM,
ارسال : #7
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
دوست گرامی تا چشمم به ffmpeg خورد یاد یه نوستالوژی افتادم گفتم شاید بد نباشه کد من رو هم ببینی:
البته خیلی وقته از این کد میگذره.... کد : #!/bin/bash اعتراض به عملکرد دولت در زمینه IT اینترنت حداقل 5M + یک laptop حق مسلم هر ایرانیست. |
|||
2011-12-03, 08:05 AM,
ارسال : #8
|
|||
|
|||
Re: کمک در نوشت یک اسکریپت بش جهت اجرای یک دستور در حلقه
ممنون دوست عزیز
الان واسه یه کار چندین راه حل دارم، هنوز توی بش اسکریپت مبتدی ام و فقط کدها رو ویرایش میکنم ولی کم کم دارم راه میافتم و میخوام واسش وقت بذارم....یکی از قشنگیای لینوکس همینه، بخصوص اینکه یه حالت هماهنگی با کل سیستم عامل و همه ی ابزارها وجود داره، بش اسکریپت فقط چسب قضیه است، کلی ابزار و امکانات از طریق پکیجهای مختلف فراهمه...و این چیزی هست که سیستم عاملهای دیگه توش ضعف دارن من دو جور انکدر داشتم، یکی که مثل ffmpeg اسم خروجی رو به عنوان ورودی میگرفت و یکی که باید stdout میکردم... الان واسه هر دو تیپش کدها رو دارم و خیلی تمیز کارمو انجام میده: به کمک چیزائی که از دوستان یاد گرفتم کارمو گسترش میدم و بعد از انکدکردن، محاسبه ی پارامترها رو هم توی بش انجام میدم و همونجا ازش یه کد TeX تولید میکنم و خروجیشو وسط یه فایل تک میذارم و خروجی PDF مقاله رو حاضر و آماده تولید میکنم... خیلی جالب میشه اینجوری : کمی که ورودی ها رو تغییر بدم یا داده ها رو عوض کنم کل مقاله خودبخود آپدیت میشه (وااااااااااای چه کیفی میده) فکر کنم به استادم نشون بدم، ذوق مرگ شه، بیچاره همون TeX رو هم بلد نیست :lol: امیدوارم وقت بذارم و انجامش بدم... اگر انجام شد حتما کدشو همینجا میذارم که دوستانی اگه نیاز داشتن استفاده کنن (هرچند واسه افراد حرفه ای واقعا کار ساده ای هست) ولی این بهترین شیوه ی یادگیری هست Linux is awesome |
|||
|