انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


 خبرها، اتفاقات و تصاویر مربوط به مربوط به جشن انتشار را با هشتگ ufest1804 در شبکه‌های اجتماعی دنبال کنید

نویسنده موضوع: درخواست اسکریپت ساده برای گرفتن آرگومان و اجرای دستورهای بش (حل شد)  (دفعات بازدید: 256 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین بهنام …

  • Hero Member
  • *
  • ارسال: 901
  • mate + compiz
سلام. می‌شه لطف کنید اسکریپتی بنویسید که شش عدد (یک یا دو رقمی) از من بگیره و بجای ‎$a … ‎$f بذاره و این دستورها را اجرا کنه:cd ~/Desktop/temp
ffmpeg -i a.MP3 -i f.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="@Channel" -metadata:s:v comment="@Channel (Name)" o.MP3
ffmpeg -i o.MP3 -ss $a:$b:0 -t $c:0 ~/Public/01.mp3
ffmpeg -i o.MP3 -ss $d:$e:0 -t $f:0 ~/Public/02.mp3
rm *.MP3
ممنونم.
« آخرین ویرایش: 16 آذر 1397، 08:27 ب‌ظ توسط بهنام … »

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1212
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
درود
ساده‌ترین راهکاری که به ذهنم میاد اینه که همین رو توی یه فایل بنویسین و به جای a و b و c و ... 1 و 2 و 3 و ... قرار بدین. به این شکل:
#!/bin/bash                                                                                               
                                                                                                           
cd ~/Desktop/temp                                                                                         
ffmpeg -i a.MP3 -i f.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="@Channel" -metada\
ta:s:v comment="@Channel (Name)" o.MP3                                                                     
ffmpeg -i o.MP3 -ss $1:$2:0 -t $3:0 ~/Public/01.mp3                                                       
ffmpeg -i o.MP3 -ss $4:$5:0 -t $6:0 ~/Public/02.mp3                                                       
rm *.MP3       

اینجوری وقتی دارین اسکریپت رو اجرا می‌کنین آرگومان اولی که بهش می‌دین میشه $1، دومی میشه $2 و ... تا $6 .
یعنی اینجوری باید اجراش کنین:
./script.sh firstArgument secondArgument ...
راه دیگه هم استفاده از read هست که هم یکمی ممکنه بیشتر وقت بگیره (مخصوصا هنگام اجرا) و هم کد رو شلوغ‌تر کنه. اون هم به این شکل می‌شه:
#!/bin/bash                                                                                               
                                                                                                           
read -p "a: " a                                                                                           
read -p "b: " b                                                                                           
read -p "c: " c                                                                                           
read -p "d: " d                                                                                           
read -p "e: " e                                                                                           
read -p "f: " f                                                                                           
                                                                                                           
cd ~/Desktop/temp                                                                                         
ffmpeg -i a.MP3 -i f.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="@Channel" -metada\
ta:s:v comment="@Channel (Name)" o.MP3                                                                     
ffmpeg -i o.MP3 -ss $a:$b:0 -t $c:0 ~/Public/01.mp3                                                       
ffmpeg -i o.MP3 -ss $d:$e:0 -t $f:0 ~/Public/02.mp3                                                       
rm *.MP3   
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین بهنام …

  • Hero Member
  • *
  • ارسال: 901
  • mate + compiz
سپاس فراوون. کارم با همین راهنمایی شما راه افتاد.
حالا می‌تونم تغییرات دیگه را خودم بدم و کارام سریع‌تر پیش‌بره.