اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

چطور یک متغییر (Variable) را به خروجی دستورات لینوکس اختصاص دهیم ؟

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    چطور یک متغییر (Variable) را به خروجی دستورات لینوکس اختصاص دهیم ؟

    وقتی که شما یک دستور را اجرا میکنید، یک نوعی از خروجی ایجاد میشود: چه خروجی یک برنامه باشه که در حال تولید شدن هست یا پیغام status/error یک برنامه درحال اجرا میتواند باشد. برخی اوقات شما ممکن است بخواید خروجی یک دستور را در یک variable (متغییر) برای یک عملیات خاصی که بعدا قرار هست انجام شود ذخیره کنید.
    اضافه کردن متغییر به خروجی دستورات لینوکس




    در این پست، ما قصد داریم راه های متفاوتی برای اختصاص دادن خروجی یک دستور shell به یک متغییر، خصوصا برای اهداف shell script، را به شما نشان بدهیم. برای ذخیره خروجی یک دستور در یک متغییر (variable)، شما میتوانید از قابلیت جایگزینی دستورات شل همانند زیر استفاده کنید :
    کد PHP:
    variable_name=$(command)
    variable_name=$(command [option ...] arg1 arg2 ...)
    OR
    variable_name='command'
    variable_name='command [option ...] arg1 arg2 ...' 
    در زیر تعداد کمی از مثالها که برای جایگزینی دستورات استفاده میشود را مشاهده میکنید.

    در مثال اول، ما میخوایم مقدار "value" از دستور who (که کسانی که در سیستم لاگین هستند رابه ما نمایش میدهد) در متغییر CURRENT_USERS کاربر ذخیره کنیم.
    کد PHP:
    CURRENT_USERS=$(who
    سپس ما میتوانیم متغییر را در یک جمله استفاده کنیم و با استفاده از دستور echo آنرا نمایش بدیم. همانند زیر :
    کد PHP:
    $ echo -"The following users are logged on the system:\n\n $CURRENT_USERS
    در دستور بالا : آپشن -e به معنی تفسیر کردن escape sequences (همانند /n برای خط جدید "newline") استفاده میشود. برای جلوگیری کردن از اتلاف زمان و حافظه، به سادگی دستور جایگزین را درون دستور echo قرار دهید.همانند زیر :
    کد PHP:
    $ echo -"The following users are logged on the system:\n\n $(who)" 
    کد PHP:
    [root@linuxzone ~]# CURRENT_USERS=$(who)
    [root@linuxzone ~]#
    [root@linuxzone ~]#
    [root@linuxzone ~]# echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
    The following users are logged on the system:

        
    habili    tty8            2017-01-019 12:10    (:0)
    [
    root@linuxzone ~]
    در مثال دوم، ما میتوانیم تعداد کل از فایل ها در دایرکتوری جاری در یک متغییری به نام FILES ذخیره کنیم و در ادامه آن را echo میکنیم :
    کد PHP:
    FILES=`sudo find . -type f -print | wc -l`
    $ echo 
    "There are $FILES in the current working directory." 
    کد PHP:
    [root@linuxzone ~]# FILES=`sudo find . -type f -print | wc -l`
    [root@linuxzone ~]#
    [root@linuxzone ~]# echo "There are $FILES in the current working directory."
    There are 79997 in the current working directory
    [root@linuxzone ~]

    همچنین توصیه میشود مطالعه کنید :

    دستور awk در لینوکس جهت استفاده از عبارات خاص برای فیلتر کردن متن یا رشته های متنی در فایل ها

    نحوه ذخیره کردن خروجی یک دستور در یک فایل


    ما روش های اختصاص دادن خروجی را به یک متغییر توضیح دادیم. شما میتوانید نظرات و فید بک های خودتان را از طریق همین پست با ما درمیان بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-13-2021, 01:43 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X