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

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

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


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

نویسنده موضوع: آیا می توان در ترمینال تابع نوشت  (دفعات بازدید: 1618 بار)

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

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
آیا می توان در ترمینال تابع نوشت
« : 12 فروردین 1392، 04:05 ب‌ظ »
سلام من می خواستم از یکسری از دستورات تابعی بوجود بیاورم تا بتوانم آنها را به راحتی فراخوانی کنم
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین ali.abry

  • High Hero Member
  • *
  • ارسال: 1224
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #1 : 12 فروردین 1392، 04:19 ب‌ظ »
منظورتون از تابع چی هستش ؟
نکنه منظورتون دستور alias هست ؟
یا منظورتون اینه که چه جوری چندین تا دستور رو پشت سره هم به کار ببرین که هر کدوم برا خروجی قبلی کاری انجام بده ؟

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #2 : 12 فروردین 1392، 05:50 ب‌ظ »
یا منظورتون اینه که چه جوری چندین تا دستور رو پشت سره هم به کار ببرین که هر کدوم برا خروجی قبلی کاری انجام بده ؟
خیر منظورم این است که چند تا خط کد را فقط با زدن یک کد کوتاه انجام دهد برای مثال بجای اینکه برای آپدیت دستورsudo apt-get update && sudo apt-get upgradeرا وارد کنم از یک کلمه ی کلیدی + عبارت upd برای فراخوانی این دستورات استفاده کنم
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #3 : 12 فروردین 1392، 06:11 ب‌ظ »
خب خوبه دنبال راههای جالبی هستی :)

دو راه داری ، یا اسکریپت بنویسی و اونها رو توی پوشه های مخصوص دستورات قرار بدی و یا در bashrc که در home خودت هست ، alias درست کنی.

این که یک کلمه کلیدی + upd باشه با دستور case امکان پذیره ، یک اسکریپت ساده :

#!/bin/bash
case $1 in
upd)
apt-get update
;;
esac

البته خودت میتونی با همین ساختار اون رو تغییر بدی و یک اسکریپت بلند و بالا درست کنی :) . همچنین بعدش اون رو مثلا با نام script ذخیره کردی و پرمیشن دادی :

/path/to/script upd
و یا اون رو در این دایرکتوری قرار بدی :

/usr/bin
:)
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #4 : 12 فروردین 1392، 09:05 ب‌ظ »
میشه لطفا اون اولش را یکم باز تر کنید
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #5 : 12 فروردین 1392، 09:15 ب‌ظ »
میشه لطفا اون اولش را یکم باز تر کنید

man case
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #6 : 12 فروردین 1392، 09:22 ب‌ظ »
No manual entry for caseچه توضیح زیبا و کاملی ;D
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #7 : 12 فروردین 1392، 09:49 ب‌ظ »
No manual entry for caseچه توضیح زیبا و کاملی ;D

خب چرا خودت اسکریپتش رو نمینویسی؟ ببین این رو بنویس :

#!/bin/bash
case $1 in
upd)
apt-get update
;;

و شرحش :

اولین خط میگه که از شل بش استفاده کن ، خط دوم میگه هر موقع مقادیر تعریف شده (در اینجا upd) رو به ازای متغیر $1 دریافت نمودی چه کار کن. دقت کن مقادیر رو بدین شکل تعریف میکنند :

val)
command
;;

بجای val نام چیزی که میخوای باشه ، بجای command دستور و ;; هم خودش! هر چند تا که خواستی اینطوری درست کن بعدش با esac محوطه case رو ببند :) .
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین edris

  • Jr. Member
  • *
  • ارسال: 81
  • جنسیت : پسر
  • nerdha.com
    • سایت اموزشی خبری
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #8 : 12 فروردین 1392، 11:14 ب‌ظ »
اگه بخوایم اسکریپت نویسی رو شروع کنیم شما چه راهی رو پیشنهاد میکنید و اینم باید بگم که من دبیرستانی هستم پس از یه جای ساده و مفید میخوام شروع کنم
nerdha.com


آفلاین edris

  • Jr. Member
  • *
  • ارسال: 81
  • جنسیت : پسر
  • nerdha.com
    • سایت اموزشی خبری
پاسخ : آیا می توان در ترمینال تابع نوشت
« پاسخ #10 : 13 فروردین 1392، 10:36 ب‌ظ »
عجب چیزیه ایول
nerdha.com