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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: استفاده از نام فایل در اسکریپت؟  (دفعات بازدید: 1775 بار)

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

آفلاین بهزادubuntu

  • Sr. Member
  • *
  • ارسال: 471
استفاده از نام فایل در اسکریپت؟
« : 02 شهریور 1390، 02:44 ب‌ظ »
سلام
چطور میشه از نام یک فایل در یک اسکریپت استفاده کرد؟
مثلا این اسکریپت ما:
#!/bin/sh
unzip -x
حالا با این روش اجرا کنیم که فایل file.zip رو از ارشیو خارج کنه
./script file.zipچه تغییری باید توی اسکریپت داد که جلو unzip -x نام فایل که file.zip هست رو بیاره؟
ممنون
کتيبه سازمان ملل کوروش کبير
خداوند کشور را از دشمن خشکسالی و دروغ محفوظ دارد

برنامه حسابداری

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #1 : 02 شهریور 1390، 05:37 ب‌ظ »
echo $1
ali@linux:/tmp$ ./1.sh hello
hello

$1 اولین آرگومان ؛ 2$ دومین و ....


پس فایل شما اینطور میشه :
#!/bin/sh
unzip -x $1

آفلاین بهزادubuntu

  • Sr. Member
  • *
  • ارسال: 471
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #2 : 02 شهریور 1390، 07:41 ب‌ظ »
echo $1
ali@linux:/tmp$ ./1.sh hello
hello

$1 اولین آرگومان ؛ 2$ دومین و ....


پس فایل شما اینطور میشه :
#!/bin/sh
unzip -x $1

ممنون درست شد  :P
ولی من این اسکریپتو تنظیم کردم برای فایلهای zip که ترمینال اجرا بشه و unzip کنه ولی وقتی کلیک میکنم ترمینال سریع باز و بسته میشه و کاری انجام نمیده!
فکر کنم اسم فایل رو وارد اسکریپت نمیکنه
دستور اینه
terminal -x bash -c  "(mkdir .1 && unzip -x $1 -d .1)"
« آخرین ویرایش: 02 شهریور 1390، 08:09 ب‌ظ توسط بهزادubuntu »
کتيبه سازمان ملل کوروش کبير
خداوند کشور را از دشمن خشکسالی و دروغ محفوظ دارد

برنامه حسابداری

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #3 : 03 شهریور 1390، 12:50 ق‌ظ »
من کوبونتو دارم و توش اینطوری دستورمو ران میکنم :
konsole --noclose -e 'cmd'
نسخه لایو اوبونتو آوردم بالا که چک کنم ببینم چی میگه ؛ اما میگه terminal نداره !! :)

اما اینم یه انتحان بکن ببینم درست میشه :
terminal -x 'bash -c  "(mkdir .1 && unzip -x $1 -d .1)"'

آفلاین بهزادubuntu

  • Sr. Member
  • *
  • ارسال: 471
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #4 : 03 شهریور 1390، 03:32 ب‌ظ »
نقل‌قول
نسخه لایو اوبونتو آوردم بالا که چک کنم ببینم چی میگه ؛ اما میگه terminal نداره !
منم kde سوزه دارم! میشه ترمینالو همونجا نصب کرد!
نقل‌قول
اما اینم یه انتحان بکن ببینم درست میشه :
خیلی امتحان کردم فقط اینطوری به نتیجه رسیدم
این ترمینالو باز نمیکنه ولی در ادامه گزارش کارو میده
F=$1
D=~/.1
rm -r $D
mkdir $D
unzip  -x $F    -d $D &&
.
.
ممنون
« آخرین ویرایش: 03 شهریور 1390، 03:36 ب‌ظ توسط بهزادubuntu »
کتيبه سازمان ملل کوروش کبير
خداوند کشور را از دشمن خشکسالی و دروغ محفوظ دارد

برنامه حسابداری

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #5 : 03 شهریور 1390، 06:27 ب‌ظ »
'bash -c  "(mkdir .1 && unzip -x $1 -d .1)"'این قسمتش که درسته ؛ زدم درست کار میکنه

اما terminal  رو نشد نصب کنم !
این پیغام رو داد ؛ شما مثل اینکه اون terminal نیست :)
sudo apt-get install rsplib-tools

آفلاین بهزادubuntu

  • Sr. Member
  • *
  • ارسال: 471
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #6 : 03 شهریور 1390، 08:28 ب‌ظ »
نقل‌قول
'bash -c  "(mkdir .1 && unzip -x $1 -d .1)"'

این قسمتش که درسته ؛ زدم درست کار میکنه
این هم دقیقا همون کاری رو میکنه که اسکریپت من میکنه  :)
ولی چون باید خیلی بزرگترش کنم شاید این روش بهتر باشه

نقل‌قول
اما terminal  رو نشد نصب کنم !
عجب!
sudp apt-get install terminal
اگه این دستور کار نکرد
sudo apt-get install gnome-terminal
بعد بجای terminal در خط فرمان gnome-terminal رو وارد کنید
کتيبه سازمان ملل کوروش کبير
خداوند کشور را از دشمن خشکسالی و دروغ محفوظ دارد

برنامه حسابداری

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ به: استفاده از نام فایل در اسکریپت؟
« پاسخ #7 : 03 شهریور 1390، 10:19 ب‌ظ »
بهزاد جان نصب شد ؛

واسه من این کار میکنه :
gnome-terminal -x bash -c "(mkdir .1 && unzip -x $1 -d .1)"ابن رو تو یه فایل بنام d.sh ذخیره کردم ؛ و با دستور زیر صداش میزنم :
bash d.sh dos.zipپنجره ترمینال باز میشه ؛ کارش رو انجام میده و بسته میشه !!

نکته : تنظیماتی نداره که این پینجره بسته نشه !
اگه میخواهید پینجره ترمینال بسته نشه این پست رو نگاه کنید : http://ubuntuforums.org/showpost.php?p=1942043&postcount=4