از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Bash Scripting: نمادها
سرفصلهای مطلب
در لینوکس، terminal همه چیز است، جایی است که ما دستورات را ارسال می کنیم، و جایی است که اسکریپت ها را ارسال می کنیم. بنابراین یکی از مهم ترین زبان های اسکریپت نویسی است bash. برنامه نویسی Bash برای خودکارسازی وظایف خسته کننده در لینوکس استفاده می شود. به منظور خودکارسازی وظایف، دستورات در داخل اسکریپت نوشته شده و پسوند .sh به آنها داده می شود. به عنوان بخشی از دستورات، از نمادهای خاصی نیز استفاده می شود. این نمادها منحصر به فرد هستند bashو هر کدام معنای خاص خود را دارند. در این آموزش نمادهای مختلفی را که در طول با آن مواجه می شوند را بررسی می کنیم bash اسکریپت و معنای خاص آنها.
نماد: <
نماد < برای تغییر مسیر ورودی استفاده می شود. برای مثال می توان از فایل ها به عنوان ورودی استفاده کرد.
مثلا:
گربه < file.txt
در این حالت file.txt به عنوان ورودی گرفته می شود و دستور cat سپس آن را خارج می کند.
نماد: >
این نماد که به عنوان عملگر تغییر مسیر فایل شناخته می شود، معمولاً برای تغییر مسیر محتویات یک دستور/فایل به دیگری استفاده می شود. رونویسی آی تی.
مثلا:
اکو “سلام دنیا’ > file.txt
در اینجا، نماد > شبیه 1> است. این به این دلیل است که 1 یک توصیف کننده فایل برای خروجی استاندارد است. لطفا توجه داشته باشید که توضیحات فایل به شرح زیر است:
0 – ورودی استاندارد، stdin
1 – خروجی استاندارد، stdout
2 – خطای استاندارد، stderr
در سناریوی قبلی، فلش تک رو به جلو معادل 1> بود. با این حال، ما همچنین می توانیم 2> را بنویسیم تا آن را به خطای استاندارد ارسال کنیم.
مثلا:
mcat file.txt 2> file2.txt
در اینجا، 2> به این معنی است که خطا در file2.txt ریخته می شود.
نماد: >>
علامت >> برای الحاق و نه برای جایگزینی استفاده می شود! در حالی که از >> برای الحاق استفاده می شود، عملگر تغییر مسیر فایل، همه چیز را جایگزین یا بازنویسی می کند.
مثلا:
اکو “این خط دوم است” >> file.txt
اکو “این خط سوم است” >> file.txt
دومی دو خط را به فایلی به نام file.txt اضافه می کند. نتیجه file.txt به صورت زیر خواهد بود:
سمبل: #
از هشتگ برای افزودن نظرات یک خطی به اسکریپت ها استفاده می شود. این نظرات اجرا/اجرا نمی شوند.
# این اراده dump خط داخل فایل
اکو “این یک است فایل” > file.txt
برخلاف #، که یک خطی است، نظرات چند خطی بیشتر شبیه این هستند.
:’
این بخش نظرات است
این خط اول است
این خط دوم است
‘
اکو “سلام دنیا”
نماد: $#
نماد $# برای بازیابی طول یا تعداد آرگومان های ارسال شده از طریق خط فرمان استفاده می شود. هنگامی که نماد $@ یا به سادگی $1، $2 و غیره استفاده می شود، ما درخواست می کنیم command-line مقادیر آنها را در یک متغیر وارد کرده و ذخیره کنید. نماد $# برای بازیابی تعداد کل آرگومان های ارسال شده استفاده می شود.
مثلا:
دومی باید مقدار 2 را حذف کند زیرا 3 عنصر وجود دارد (سلام، جهان و دوباره).
نماد: &>
این نماد هم خروجی استاندارد و هم خطای استاندارد را تغییر مسیر می دهد.
مثلا؛
در این حالت، نماد &> هم خروجی استاندارد و هم خطای استاندارد را به فایلی به نام file.txt هدایت می کند. بنابراین، هم خروجی تولید شده و هم خطای ایجاد شده در یک فایل قرار می گیرند.
نماد: \< و \>
شما باید طول رشته یا طول کاراکتر را با هم مقایسه کنید. این کار را می توان از طریق نمادهای \< و \> انجام داد. از این دو علامت برای مقایسه طول کاراکترها استفاده می شود.
مثلا:
آ=”گربه”
ب=”سیاهگوش”
اگر [ a \< b ]
سپس
اکو “a کوتاه تر از b است”
دیگر
اکو “a طولانی تر از b است”
فی
در این مورد، کلمه ذخیره شده در a – یا cat – دارای طول کاراکتر 3 است، در حالی که کلمه ذخیره شده در b – یا lynx – دارای طول کاراکتر 4 است. بنابراین پاسخ باید این باشد که “a کوتاهتر از b است. ”
نماد: ^^، ^ و،،
برخی از نمادها برای تغییر حروف کاراکترها عمل می کنند.
^^ – برای تبدیل همه کاراکترها به حروف بزرگ
^ – برای تبدیل حرف اول به حروف بزرگ
,, — برای تبدیل همه کاراکترها به حروف کوچک
مثلا:
آ=”گربه”
ب=”سیاهگوش”
ج=”اژدها”
اکو ${a^^}
اکو ${b^}
اکو ${c,,}
نماد: $@ یا $*
نماد $@ معادل $* است که معادل $1 $2 $3 $4 است…
سابق:
اکو 1 دلار 2 دلار 3 دلار 4 دلار 5 دلار
# دومی معادل echo $@ است
در این مثال، $1، $2، $3، $4 و $5 ورودی های خط فرمان هستند. یا میتوانستیم موارد زیر را بنویسیم:
اکو $@
یا
اکو $*
نماد: دلار؟
این نماد خاص – $؟ – برای دریافت وضعیت خروج از دستوری که قبلاً ارسال شده است استفاده می شود.
سابق:
اکو “سلام دنیا” > file.txt
اکو دلار؟
وضعیت خروج 0 نشان می دهد که process با موفقیت تکمیل شد.
نماد: $$
نماد $$ PID پوسته فعلی را ذخیره می کند.
مثلا:
اکو $$
در مورد من، مقدار 2443 را چاپ کرد. این PID پوسته است.
نماد: 2>&1
نماد 2>&1 هم خروجی استاندارد و هم خطای استاندارد را به خروجی استاندارد هدایت می کند.
مثلا:
ls 2>&1 > file.txt
در این حالت تمام خروجی استاندارد و در صورت ایجاد خطا، خطای استاندارد هر دو به فایلی به نام file.txt هدایت می شود.
برنامه نویسی Bash یک زبان برنامه نویسی کلیدی است که می تواند برای خودکارسازی وظایف استفاده شود. در حین bash اسکریپت نویسی، ما با کدهای زیادی مواجه می شویم، اما همچنین با کاراکترها یا نمادهای خاصی مواجه می شویم که منحصر به فرد هستند bash. این نمادها هر کدام نقش خاصی در آن دارند bash اسکریپت نویسی، و همیشه واضح نیستند. در این آموزش، چند علامت کلیدی مورد استفاده در هنگام نوشتن را بررسی کردیم bash اسکریپت ها بدیهی است که نمادهای زیادی وجود دارد. با این حال، برخی از آنها به قدری مکرر مواجه می شوند که ممکن است نیاز به دانستن آنها باشد bash اسکریپت نویسی پس از اینجا به بعد بی باک از نماد جلو بروید!
کد نویسی مبارک!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 04:01:03