از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش به هم پیوستن رشته ها در Bash: راهنمای اتصال متغیرهای رشته
سرفصلهای مطلب
اکثر زبان های برنامه نویسی می توانند دو یا چند رشته را به هم متصل کنند. یکی از زبان های برنامه نویسی که به هم پیوستن متغیرها را آسان می کند ضربه شدید.
چیزی که bash را خاص می کند این است که متغیرهای رشته ای را می توان بدون استفاده از دستورات یا توابع اختصاصی متصل کرد. به عبارت دیگر، برای ترکیب دادههای رشتهای، کاربران میتوانند از دستکاری متغیر ساده استفاده کنند یا همان منطق را با آن اعمال کنند عملگر تخصیص جمع (+=).
در این آموزش، اسکریپت نویسی bash را توضیح می دهیم، رشته های پیوسته bash چیست و راه های مختلفی برای به هم پیوستن رشته ها ارائه می دهیم.
Bash Scripting چیست؟
برنامه نویسی پوسته Bash به کاربران این امکان را می دهد که صدها دستور لینوکس را با یک اسکریپت واحد اجرا کنند به جای اینکه همه آنها را یکی یکی بنویسند. برای کاربرانی که به دنبال خودکارسازی عملیات هستند بسیار مفید است روی سرور فیزیکی یا محیط میزبانی VPS آنها، بهره وری را افزایش می دهد.
به عنوان مثال، هر دستوری که کاربر می تواند به صورت بومی اجرا کند روی آ terminal را می توان در یک اسکریپت bash قرار داد. این در مورد توابع نیز صدق می کند، بنابراین به جای نوشتن هر بار آنها، کاربران فقط باید یک تابع را یک بار بنویسند و از آن در هر اسکریپت bash استفاده مجدد کنند.
هر اسکریپت با a شروع می شود .sh فایل و دارای ساختاری مشابه است:
#!/bin/bash # Creates a new variable "Hello, World" mybashvariable="Hello, World" echo $mybashvariable
خط اول می گوید terminal برای اجرای اسکریپت منحصراً با استفاده از bash، و تمام خطوط زیر خود اسکریپت واقعی هستند.
در این مثال خاص، اسکریپت یک متغیر جدید به نام ایجاد کرد mybashvariable و به آن “سلام دنیا” مقدار، و اسکریپت مقدار را چاپ می کند.
الحاق در لینوکس چیست؟
عملیات الحاق در bash است process از اتصال یک رشته به انتهای یک رشته دیگر. Bash به کاربران خود اجازه می دهد تا رشته ها را با نوشتن رشته ها پشت سر هم یا به هم پیوستن آنها با استفاده از عملگر += به هم متصل کنند.
الحاق رشته – اضافه کردن یک متغیر رشته بعد از دیگری
ساده ترین روش الحاق رشته ها اضافه کردن یک متغیر رشته پس از دیگری است. بخش های بعدی سه روش مختلف برای انجام این کار را نشان می دهد.
الحاق رشته ها با استفاده از رشته های لغوی
رشتههای تحت اللفظی به معنای واقعی کلمه چاپ میشوند، و دو راه برای چاپ کردن یک رشته به معنای واقعی کلمه وجود دارد – با استفاده از نقلقولهای مفرد یا نماد عکسالعمل با گیومههای دوتایی معمولی. به عنوان مثال، یک متغیر رشته تحت اللفظی جدید بدون نقل قول ایجاد می کنیم و آن را تکرار می کنیم:
#!/bin/bash variablename=\usr\bin\env echo "$variablename"
در این صورت نتیجه این خواهد بود:
# Result usrbinenv
حالا وقتی اضافه می کنیم مفرد یا نقل قول های دوگانه به نام متغیر رشته، دستور echo مقدار را به معنای واقعی کلمه چاپ می کند:
#!/bin/bash variablename="\usr\bin\env" echo "$variablename"
نتیجه این است:
# Result \usr\bin\env
در مرحله بعد، این منطق را برای به هم پیوستن دو رشته اعمال می کنیم:
#!/bin/bash variablename="\usr\bin\env" echo "$variablename Bash_Is_Awesome"
همچنین می توانیم متغیر خط آخر را با استفاده از آن پوشش دهیم براکت های گرد به منظور محافظت از آن اگر متغیرهای مختلفی دارید، براکت های فرفری مفید هستند:
echo "${variablename} Bash_Is_Awesome"
در هر دو مورد، نتیجه به صورت زیر نشان داده خواهد شد:
\usr\bin\env Bash_Is_Awesome
الحاق رشته از متغیرهای متعدد
چندین متغیر رشته را می توان به راحتی با دستکاری متغیر واضح به یکدیگر متصل کرد.
به عنوان مثال، در اسکریپت bash زیر، از سه متغیر مختلف برای ایجاد مقادیر ترکیبی استفاده خواهیم کرد. دستور echo متعاقباً داده های رشته را چاپ می کند:
#!/bin/bash variablename="\usr\bin\env " myvariable="_Awesome" anothervariable="$variablename"Bash_Is"$myvariable" echo "$anothervariable"
در اینجا نتیجه به نظر می رسد:
\usr\bin\env Bash_Is_Awesome
الحاق رشته اعداد و رشته ها
Bash به کاربران خود اجازه می دهد تا یک یا چند متغیر را که از نوع رشته ای نیستند، به هم متصل کنند. به همین دلیل، می توان چندین متغیر را که می توانند رشته یا اعداد باشند به هم متصل کرد:
#!/bin/bash firstvariable=" Hello, World " secondvariable="Hello, هاستینگer " thirdvariable=" I now know how to concatenate strings in bash." fourthvariable="$secondvariable"and"$firstvariable"means"$thirdvariable" echo $fourthvariable
الحاق رشته ها با استفاده از عملگر +=
راه دیگر برای اتصال دو یا چند رشته برای ایجاد یک رشته پیوسته، استفاده از عملگر انتساب جمع (+=) است. این عملگر اتصال رشته ها را با استفاده از یک یا چند متغیر امکان پذیر می کند.
به عنوان مثال، اسکریپت زیر را می توان برای اتصال دو رشته با استفاده از یک متغیر استفاده کرد:
#!/bin/bash mystring="I would like to generate a meaningful output, please. " mystring+="Not a chance, friend!" echo "$mystring"
یک نتیجه مشابه را می توان با استفاده از دو متغیر به دست آورد:
#!/bin/bash firststring="This is a single string. " secondstring="Which makes this a resulting string." # Curly brackets between $secondvariable are called variable interpolation. firststring+="${secondstring}" echo $firststring
الحاق رشته های عددی
متد append operator همچنین می تواند منحصراً برای الحاق متغیرهای رشته عددی استفاده شود.
#!/bin/bash numeric_string=2050 numeric_string+=0502 echo $numeric_string
با این حال، اگر می خواهید اعداد را با هم جمع کنید، باید از این منطق استفاده کنید:
#!/bin/bash x=3 y=5 z=6 ((x+=y+=z)) echo $x
الحاق رشته ها با استفاده از Bash برای حلقه
یک راه پیشرفته تر برای استفاده از عملکرد الحاق bash، پیاده سازی آن در bash for loop است.
در مثال زیر، یک را دریافت کردیم متغیر من با سه رشته و یک متغیر به نام نتایج با یک رشته خالی با کمک بش برای حلقه، ما قادر خواهیم بود رشته ها را از متغیر من با رشته ما:
#!/bin/bash myvariable="bash concatenation هاستینگer" results="" for i in $myvariable do results+="The answer is $i... " done echo $results
نتیجه
زبان برنامه نویسی bash یک ابزار مناسب و کارآمد برای اعمال مختلف دستکاری متغیرها است. یکی از مهمترین مثالها، امکان اتصال متغیرهای رشتهای مختلف به یکی است.
در این آموزش، ما به تعریف bash scripting و concatenation پرداختیم. همچنین یاد گرفتیم که چگونه متغیرهای رشته را با دو روش مختلف به هم متصل کنیم.
امیدواریم این آموزش برای شما مفید بوده باشد. اگر سوال دیگری دارید، در قسمت نظرات زیر آن را مطرح کنید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 00:40:06