انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: بهزادubuntu در 02 شهریور 1390، 02:44 بظ
-
سلام
چطور میشه از نام یک فایل در یک اسکریپت استفاده کرد؟
مثلا این اسکریپت ما:
#!/bin/sh
unzip -x
حالا با این روش اجرا کنیم که فایل file.zip رو از ارشیو خارج کنه
./script file.zip
چه تغییری باید توی اسکریپت داد که جلو unzip -x نام فایل که file.zip هست رو بیاره؟
ممنون
-
echo $1
ali@linux:/tmp$ ./1.sh hello
hello
$1 اولین آرگومان ؛ 2$ دومین و ....
پس فایل شما اینطور میشه :
#!/bin/sh
unzip -x $1
-
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)"
-
من کوبونتو دارم و توش اینطوری دستورمو ران میکنم :
konsole --noclose -e 'cmd'
نسخه لایو اوبونتو آوردم بالا که چک کنم ببینم چی میگه ؛ اما میگه terminal نداره !! :)
اما اینم یه انتحان بکن ببینم درست میشه :
terminal -x 'bash -c "(mkdir .1 && unzip -x $1 -d .1)"'
-
نسخه لایو اوبونتو آوردم بالا که چک کنم ببینم چی میگه ؛ اما میگه terminal نداره !
منم kde سوزه دارم! میشه ترمینالو همونجا نصب کرد!
اما اینم یه انتحان بکن ببینم درست میشه :
خیلی امتحان کردم فقط اینطوری به نتیجه رسیدم
این ترمینالو باز نمیکنه ولی در ادامه گزارش کارو میده
F=$1
D=~/.1
rm -r $D
mkdir $D
unzip -x $F -d $D &&
.
.
ممنون
-
'bash -c "(mkdir .1 && unzip -x $1 -d .1)"'
این قسمتش که درسته ؛ زدم درست کار میکنه
اما terminal رو نشد نصب کنم !
این پیغام رو داد ؛ شما مثل اینکه اون terminal نیست :)
sudo apt-get install rsplib-tools
-
'bash -c "(mkdir .1 && unzip -x $1 -d .1)"'
این قسمتش که درسته ؛ زدم درست کار میکنه
این هم دقیقا همون کاری رو میکنه که اسکریپت من میکنه :)
ولی چون باید خیلی بزرگترش کنم شاید این روش بهتر باشه
اما terminal رو نشد نصب کنم !
عجب!
sudp apt-get install terminal
اگه این دستور کار نکرد
sudo apt-get install gnome-terminal
بعد بجای terminal در خط فرمان gnome-terminal رو وارد کنید
-
بهزاد جان نصب شد ؛
واسه من این کار میکنه :
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