پرسش و پاسخ شماره ۱۳ - آموزش اسکریپت نویسی
X
تبلیغات
پخش زنده جام جهانی

آموزش اسکریپت نویسی

آموزش اسکریپت نویسی پوسته گنو-لینوکس

#!/bin/bash

پرسش و پاسخ شماره ۱۳

پرسش و پاسخ شماره ۱۳

چگونه می‌توانم دو متغیر را به هم الحاق کنم؟ چگونه یک رشته را در یک متغیر اضافه (پیوست) کنم؟

در شل، عملگری(صریح) برای الحاق نمودن رشته‌ها (لفظی یا بدون ارجاع به متغیر) وجود ندارد، فقط می‌توانید آنها را در مجاورت هم بنویسید:

    var=$var1$var2

اگر طرف راست شامل کاراکترهای فضای سفید باشد، لازم است که نقل‌قولی بشود:

    var="$var1 - $var2"

اگر شما رشته‌ای الحاق می‌کنید که به قسمتی از نام متغیر شباهتی ندارد، تنها تمام آنها را در کنار یکدیگر قرار بدهید:

    var=$var1/.-

در غیر این صورت، ابروها یا نقل‌قولها می‌توانند برای رفع ابهام طرف راست به کار بروند:

    var=${var1}xyzzy
    #   به عنوان نام متغیر تفسیر خواهد شد var1xyzzy بدون ابروها

    var="$var1"xyzzy
    # ترکیب دستوری جایگزین

جایگزینی فرمان به خوبی می‌تواند به کار برود. سطر زیر یک فایل ثبت وقایع logname متشکل ازتاریخ جاری ایجاد می‌کند، که منجر به نامهایی به عنوان مثال مانند log.2004-07-26 می‌شود:

    logname="log.$(date +%Y-%m-%d)"

تفاوتی میان استفاده مجدد نام یک متغیر یا تخصیص مجدد مقدار(رشته‌ای که نگاه می‌دارد) دلخواه به آن، وجود ندارد:

    string="$string more data here"

Bash (از) نگارش 3.1 عملگر جدید ‎ +=‎ را دارد که ممکن است گاه گاهی ببینید:

    string+=" more data here"     # !بینهایت غیرقابل حمل

به طور معمول بهترین کار استفاده از ترکیب دستوری قابل حمل است.


CategoryShell

پرسش و پاسخ 13 (آخرین ویرایش ‎2009-12-30 08:27:15‎ توسط MatthiasPopp)