از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Bash Print همه متغیرهای محیطی
سرفصلهای مطلب
مقدار متغیر محیط را تنظیم کنید
شما باید بدانید که متغیرهای محیطی همانطور که سایر متغیرها در یک زبان برنامهنویسی مقداردهی اولیه میشوند، مقداردهی اولیه میشوند. bash متغیرها اگرچه عنوان یک متغیر محیطی همیشه به حروف کوچک و بزرگ حساس است، یعنی باید بزرگ باشد. بیش از دو مقدار را می توان با استفاده از کولون “:” به یک متغیر محیطی اختصاص داد.
در اینجا یک نحو کلی ساده از مقداردهی اولیه یک متغیر محیطی وجود دارد. دستور set داخلی به طور گسترده ای برای تنظیم مقادیر متغیرهای محیطی شناخته شده است. اگر از آن بدون هیچ آرگومان یا هیچ علامت مجموعه ای استفاده کنید، پوسته شما تمام متغیرهای محیط را نمایش می دهد، همانطور که در تصویر زیر می بینید. نمونههای رایج «set» داخلی عبارتند از «set –x» برای گسترش و نمایش، «set –e» برای خروج از برنامه پس از مواجهه با وضعیت غیر صفر، «set –u» و «set –o» به هنگامی که متغیری را بدون مقدار تعیین شده پیدا می کند، یک خطا نشان می دهد، “set –n” برای جلوگیری از اجرای دستورات و بسیاری موارد دیگر.
- کلید = مقدار
- KEY=value1:value2
چاپ تمام متغیرهای محیطی با استفاده از Env
بیایید شروع به استفاده از دستورات مختلف در پوسته برای چاپ متغیرهای محیطی کنیم. قبل از آن، خود را راه اندازی کنید console برنامه با استفاده از “Ctrl+Alt+T” روی دسکتاپ اوبونتو 20.04 اولین روش برای نمایش همه متغیرهای محیطی استفاده از دستور “env” در پوسته است. اما، فقط متغیرهای محیط فعال فعلی سیستم را نمایش می دهد.
همچنین می توانید برخی از آرگومان ها را برای تغییر خروجی در آن ارسال کنید. ما از دستور ساده “env” برای نمایش تمام متغیرهای محیط فعلی در پوسته خود مطابق با خروجی نشان داده شده استفاده کرده ایم.
چاپ همه متغیرهای محیطی با استفاده از printenv
بیایید مثال دیگری برای چاپ تمام متغیرهای محیطی در پوسته ببینیم. این بار برای انجام این کار از دستور printenv در پوسته استفاده کرده ایم. دستور “printenv” متغیرهای محیط فعال فعلی و متغیرهای محیطی که قبلاً مشخص شدهاند را در پوسته نمایش میدهد.
می توانید خروجی استفاده از دستور printenv را برای نمایش تمام متغیرهای محیطی در پوسته مطابق تصویر زیر مشاهده کنید. همانطور که در تصویر نشان داده شده است، ما متغیرهای محیطی زیادی را به همراه مقادیر اختصاص داده شده به آنها داریم، به عنوان مثال، متغیرهای پوسته، متغیرهای نمایش، متغیرهای احراز هویت، و موارد دیگر.
همچنین می توانید از همین دستور با کلمات کلیدی “بیشتر” و “کمتر” استفاده کنید. هنگامی که می خواهید در صورت نیاز موارد بیشتری را مشاهده کنید، دستورات بیشتر مفید خواهند بود. در حالی که دستور less به طور خودکار متغیرهای محیطی کمتری را نشان می دهد روی صفحه نمایش پوسته خود را برای جلوگیری از ناراحتی. دستورات نمایش بیشتر و کمتر به صورت زیر بیان شده است:
نمای واضح تر خروجی دستور «بیشتر» متغیرهای محیط چاپ در تصویر زیر نشان داده شده است. برای کاوش متغیرهای بیشتر، روی کلید «Enter» ضربه بزنید.
دستور printenv هنگام انتقال داده های متغیر آن به فایل های دیگر بسیار مفید است. این بدان معنی است که ما همچنین می توانیم تمام متغیرهای محیطی و مقادیر آنها را به برخی منتقل کنیم bash با استفاده از دستور printenv فایل کنید. شما باید از علامت بزرگتر بعد از کلمه کلیدی “printenv” به همراه نام فایلی که داده های متغیرها در آن ذخیره می شود استفاده کنید.
پس از انجام این کار می بینید که فایل دارای تمامی متغیرهای محیطی خواهد بود. خروجی برای نمایش محتوای یک فایل با استفاده از دستور “cat” و دستور “printenv” در پوسته یکسان است.
$ cat new.sh
از سوی دیگر، میتوانید از آرگومانهای داخل دستور printenv نیز برای مشخص کردن آن استفاده کنید. فرض کنید، اگر می خواهید مقادیر متغیر محیطی “HOME” را در پوسته بررسی کنید، باید آن را در دستور “printenv” با کلمه کلیدی “grep” ذکر کنید. اگر متغیری به نام “HOME” در سیستم وجود داشته باشد، آن را نمایش می دهد روی پوسته. همانطور که می بینید، متغیر “HOME” و مقدار آن، یعنی مسیر در پوسته را نمایش می دهد.
بیایید برخی از متغیرهای محیطی دیگر را بررسی کنیم. بگذارید پوشه “tmp” را با استفاده از کلمه کلیدی “grep” بررسی کنید. پوشه “tmp” متعلق به متغیر “SESSION_MANAGER” در سیستم ما است.
اکنون، بیایید پوشه “bin” را که به طور گسترده در سیستم استفاده می شود بررسی کنیم. پس از اجرای دستور، ما 4 متغیر محیطی در ازای آن داریم که نشان میدهد بخشی از همه آن متغیرهای محیطی سیستم اوبونتو 20.04 است.
بررسی متغیری که حتی در سیستم شما وجود ندارد منجر به یک نتیجه خالی می شود. از آنجایی که سیستم هیچ متغیر محیطی برای پوشه یا فایل “جدید” ندارد.
همچنین می توانید از دستور دیگری برای نمایش تمام متغیرهای موجود در سیستم خود استفاده کنید، یعنی نه تنها متغیرهای محیطی. دستور declare را می توان برای این منظور به همراه پرچم “-p” در پرس و جو استفاده کرد.
اگر فقط می خواهید متغیرهای محیطی را در پوسته خود نمایش دهید، می توانید این کار را با اعلام یک دستور نیز انجام دهید. همانطور که در تصویر نشان داده شده است باید به جای پرچم “-p” پرچم “-xp” را اعلام کنید. می توانید نگاهی به خروجی ای بیندازید که فقط متغیرهای محیط را نمایش می دهد.
نتیجه
این راهنما برای همه طراحی شده است bash کاربران سیستم لینوکس علیرغم توانایی یادگیریشان. این به این دلیل است که تمام مثال های پیاده سازی شده در این مقاله بسیار ساده و به خوبی توضیح داده شده اند تا برای هر نوع کاربری قابل درک باشد.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 07:36:04