انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: MHA152 در 12 فروردین 1392، 04:05 بظ
-
سلام من می خواستم از یکسری از دستورات تابعی بوجود بیاورم تا بتوانم آنها را به راحتی فراخوانی کنم
-
منظورتون از تابع چی هستش ؟
نکنه منظورتون دستور alias هست ؟
یا منظورتون اینه که چه جوری چندین تا دستور رو پشت سره هم به کار ببرین که هر کدوم برا خروجی قبلی کاری انجام بده ؟
-
یا منظورتون اینه که چه جوری چندین تا دستور رو پشت سره هم به کار ببرین که هر کدوم برا خروجی قبلی کاری انجام بده ؟
خیر منظورم این است که چند تا خط کد را فقط با زدن یک کد کوتاه انجام دهد برای مثال بجای اینکه برای آپدیت دستورsudo apt-get update && sudo apt-get upgrade
را وارد کنم از یک کلمه ی کلیدی + عبارت upd برای فراخوانی این دستورات استفاده کنم
-
خب خوبه دنبال راههای جالبی هستی :)
دو راه داری ، یا اسکریپت بنویسی و اونها رو توی پوشه های مخصوص دستورات قرار بدی و یا در bashrc که در home خودت هست ، alias درست کنی.
این که یک کلمه کلیدی + upd باشه با دستور case امکان پذیره ، یک اسکریپت ساده :
#!/bin/bash
case $1 in
upd)
apt-get update
;;
esac
البته خودت میتونی با همین ساختار اون رو تغییر بدی و یک اسکریپت بلند و بالا درست کنی :) . همچنین بعدش اون رو مثلا با نام script ذخیره کردی و پرمیشن دادی :
/path/to/script upd
و یا اون رو در این دایرکتوری قرار بدی :
/usr/bin
:)
-
میشه لطفا اون اولش را یکم باز تر کنید
-
میشه لطفا اون اولش را یکم باز تر کنید
man case
-
No manual entry for case
چه توضیح زیبا و کاملی ;D
-
No manual entry for case
چه توضیح زیبا و کاملی ;D
خب چرا خودت اسکریپتش رو نمینویسی؟ ببین این رو بنویس :
#!/bin/bash
case $1 in
upd)
apt-get update
;;
و شرحش :
اولین خط میگه که از شل بش استفاده کن ، خط دوم میگه هر موقع مقادیر تعریف شده (در اینجا upd) رو به ازای متغیر $1 دریافت نمودی چه کار کن. دقت کن مقادیر رو بدین شکل تعریف میکنند :
val)
command
;;
بجای val نام چیزی که میخوای باشه ، بجای command دستور و ;; هم خودش! هر چند تا که خواستی اینطوری درست کن بعدش با esac محوطه case رو ببند :) .
-
اگه بخوایم اسکریپت نویسی رو شروع کنیم شما چه راهی رو پیشنهاد میکنید و اینم باید بگم که من دبیرستانی هستم پس از یه جای ساده و مفید میخوام شروع کنم
-
http://wiki.linuxreview.ir/%DA%A9%D8%AA%D8%A7%D8%A8_%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C_%D8%A8%D8%A7_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%86%D9%88%DB%8C%D8%B3%DB%8C_BASH
-
عجب چیزیه ایول