از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
اپراتورهای تغییر مسیر لینوکس Bash
سرفصلهای مطلب
اپراتور تغییر مسیر: <
نماد < برای تغییر مسیر ورودی استفاده می شود. برای مثال می توان از فایل ها به عنوان ورودی استفاده کرد. با این حال، در این مورد، تغییر مسیر ورودی یک تغییر مسیر فقط خواندنی است.
مثلا:
گربه < file.txt
در این حالت file.txt به عنوان ورودی گرفته می شود و دستور cat سپس آن را خارج می کند.
اپراتور تغییر مسیر: <<
عملگر تغییر مسیر << به عنوان سند اینجا نیز شناخته می شود. سند here-document به شخص اجازه می دهد تا یک خط ورودی را در یک دستور در بسیاری از دستورات قرار دهد.
مثلا:
گربه << EOF
خط اول
خط دوم
EOF
دستشویی << EOF
خط اول
خط دوم
EOF
خوب، بنابراین در اینجا، ما دو خط ورودی داریم. در بخش اول، ورودی را برای گربه می فرستیم، که گربه همه چیز را حذف می کند. و در قسمت دوم با دستور wc تعداد خطوط و کلمات و کاراکترها را می شماریم. در هر صورت، نکته این است که میتوانیم به جای یک خط، چندین خط را به عنوان ورودی ارسال کنیم.
اپراتور تغییر مسیر: >
این نماد که به عنوان عملگر تغییر مسیر فایل شناخته می شود، معمولاً برای تغییر مسیر محتویات یک دستور/فایل به دیگری استفاده می شود. رونویسی آی تی. حواستون باشه آن را بازنویسی می کند – به صورت پررنگ و مورب!
مثلا:
اکو “سلام دنیا’ > file.txt
در اینجا، نماد > شبیه 1> است. این به این دلیل است که 1 یک توصیف کننده فایل برای خروجی استاندارد است. لطفا توجه داشته باشید که توضیحات فایل به شرح زیر است:
1 — خروجی استاندارد، stdout
2 — خطای استاندارد، stderr
در سناریوی قبلی، فلش تک رو به جلو معادل 1> بود. با این حال، ما همچنین می توانیم 2> را برای ارسال خطای استاندارد بنویسیم.
مثلا:
mcat file.txt 2> file2.txt
در اینجا، 2> به این معنی است که خطای ایجاد شده در file2.txt ریخته می شود.
اپراتور تغییر مسیر: >>
علامت >> برای الحاق و نه برای جایگزینی استفاده می شود! عملگر تغییر مسیر فایل > همه چیز را جایگزین یا بازنویسی می کند در حالی که >> برای الحاق استفاده می شود. دومی محتویات مشخص شده را به انتهای فایل اضافه می کند.
مثلا:
اکو “این خط دوم است” >> file.txt
اکو “این خط سوم است” >> file.txt
دومی دو خط را به فایلی به نام file.txt اضافه می کند. نتیجه file.txt به صورت زیر خواهد بود:
اپراتور تغییر مسیر: |
عملگر تغییر مسیر | برای ارسال خروجی دستور اول به عنوان ورودی فرمان دوم استفاده می شود. به عنوان مثال، اگر من یک دستور اولیه را ارسال کنم و سپس با استفاده از | خروجی تولید شده توسط این دستور را “pipe” کنم عملگر را در یک فرمان دوم، به عنوان ورودی دریافت کرده و سپس پردازش می شود.
مثلا:
ls-la | sed ‘s/bash/redirection_operator/‘
در اینجا sed با دستور s برای جایگزینی یک نام به جای نام دیگر استفاده می شود. بنابراین، sed’s/bash/redirection_operator/’ برای جایگزینی کلمه استفاده می شود bash با کلمه redirection_operator.
خب ما اینجا چیکار میکنیم؟ خوب، ‘ls -la’ همه چیز را با جزئیات فهرست می کند، و اپراتور لوله این را می گیرد و به دستور دوم ارسال می کند. فرمان دوم (sed’s/bash/redirection_operator/’) جایگزین کلمه خواهد شد bash با کلمه redirection_operator و آن را روی صفحه چاپ کنید.
اپراتور تغییر مسیر: >&
این نماد هم خروجی استاندارد و هم خطای استاندارد را تغییر مسیر می دهد.
مثلا؛
در این حالت، نماد >& هم خروجی استاندارد و هم خطای استاندارد را به فایلی به نام file.txt هدایت می کند. بنابراین، هم خروجی تولید شده و هم خطای ایجاد شده در یک فایل قرار می گیرند.
حالا فرض کنید به جای آن این را بنویسیم:
در این حالت باید خطا ایجاد شود زیرا دستور mls وجود ندارد. در اینجا، خطا به سند file.txt نیز ارسال خواهد شد.
اپراتور تغییر مسیر: >|
مواقعی وجود دارد که به دلیل محدودیت فایل نمی توانید یک فایل را بازنویسی کنید. حال فرض کنید فایلی به نام file.txt دارید که قابل رونویسی نیست.
بنابراین دستور زیر در واقع یک فایل را بازنویسی نمی کند:
اکو “سلام” > /tmp/file.txt
ما از عملگر >| استفاده می کنیم برای بازنویسی اجباری فایل در چنین مواردی.
در اینجا، موارد زیر را برای بازنویسی فایل به اجبار مینویسیم:
اکو “سلام” >| /tmp/file.txt
اپراتور تغییر مسیر: &>>
اپراتور &>> خروجی استاندارد و خطای استاندارد را به فایل مشخص شده اضافه می کند.
سابق:
lsl &>> file.txt
در این مثال، فایلی به نام file.txt داریم که شامل دو خط است. وقتی اسکریپت را اجرا می کنیم فراخوانی می شود bash.sh، که حاوی دستوری است که وجود ندارد، باید یک خطا ایجاد کند. این خطا پیدا شده و به file.txt اضافه می شود. اگر دستور حاوی هیچ خطایی نبود، آن را نیز می گرفت و می فرستاد تا به فایلی به نام file.txt اضافه شود.
اپراتور تغییر مسیر: <<-
عملگر تغییر مسیر <<- همه برگه ها را از یک ورودی چند خطی حذف می کند.
مثلا:
بیشتر <<- EOF
خط اول
خط دوم
EOF
در اینجا زبانه هایی قبل از دو خط ورودی (خط اول، خط دوم) وجود دارد. اما زمانی که خروجی تولید می شود، زبانه ها نادیده گرفته می شوند.
اپراتور تغییر مسیر: <>
عملگر تغییر مسیر <> یک فایل را برای خواندن و نوشتن باز می کند.
برنامه نویسی Bash یک زبان برنامه نویسی کلیدی است که می تواند برای خودکارسازی وظایف استفاده شود. در حین bash اسکریپت نویسی، ما با کدهای زیادی مواجه می شویم، اما با عملگرهای تغییر مسیر نیز مواجه می شویم که منحصر به فرد هستند bash. این اپراتورها هر کدام نقش خاصی در آن دارند bash اسکریپت نویسی، و همیشه واضح نیستند. در این آموزش، چند عملگر تغییر مسیر مورد استفاده در هنگام نوشتن را بررسی کردیم bash اسکریپت ها بدیهی است که بسیاری از اپراتورهای تغییر مسیر وجود دارند. با این حال، برخی از آنها به قدری مکرر مواجه می شوند که ممکن است نیاز به دانستن آنها باشد bash اسکریپت نویسی بنابراین، بدون ترس از اپراتورهای تغییر مسیر از اینجا به بعد، جلو بروید!
کد نویسی مبارک!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 04:14:03