ایجاد یک فایل اسکریپت در لینوکس
ایجاد یک فایل اسکریپت در لینوکس
فرمت دهی فایل اسکریپت
نحوه ایجاد یک فایل اسکریپت را با ساختن یک اسکریپت بسیار ساده آغاز می کنیم.
خب به همین منظور ویرایشگر متن خود را باز کرده و اسکریپت زیر را در آن وارد می کنیم:
bin/bash/!#
shell scripting#
‘echo ‘Faraznetwork is the best
همانگونه که مشاهده می کنید خط دوم اسکریپت یک کامنت هست زیرا که با علامت # شروع شده است
و صرفا یک توضیح درباره دستور می باشد و تاثیري بر اجراي دستور نخواهد گذاشت.
خط سوم یک دستور echo ساده است که یک متن را براي ما در خط فرمان چاپ خواهد کرد.
ولی خط اول چطور؟
آیا آن هم یک کامنت است؟
خیر کاراکتر !# را یک توالی Shebang می نامند.
توالی شیبنگ استفاده می شود تا به سیستم بگوید که نام مفسري که باید براي اجراي فایل اسکریپت استفاده کند چیست.
هر اسکریپت شل بایستی حاوي این خط در ابتداي آن باشد.
پس از پایان فایل را با نام دلخواه ذخیره کنید و از ویرایشگر خارج شوید.
مجوزهاي اجرایی
دومین کاري که بایستی براي ایجاد یک اسکریپت ساده انجام دهیم، این است که فایل اسکریپت خود را اجرایی کنیم.
به این منظور بایستی مجوزهاي فایل اسکریپت را تغییر دهیم.
حدس بزنید. کمی فکر کنید با چه دستوري مجوزها را تغییر می دادیم.
این را با دستور chmod به صورت زیر انجام دهید:
در ابتدا با استفاده از دستور ls -l مجوزهاي دسترسی فایل اسکریپت test را مشاهده می کنیم.
سپس با استفاده از دستور chmod مجوزهاي فایل را به 755 تغییر می دهیم.
توجه داشته باشید که دو نوع مجوز رایج براي اسکریپت ها وجود دارد.
755 براي اسکریپت هایی است که همه قادر به اجراي آنها باشند و مجوز 700 براي اسکریپت هایی که فقط مالک و صاحب فایل قادر به اجراي آنها باشد.
همچنین به یاد داشته باشید که اسکریپت ها به منظور اجرا شدن بایستی خواندنی نیز باشند.
در نهایت باز هم با دستور ls -l مجوزهاي فایل را مشاهده می کنیم که تغییر کرده و علاوه بر آن به رنگ فایل دقت کنید به صورتی متمایز نمایش داده می شود.
موقعیت و مکان فایل اسکریپت
الان با تعیین موقعیت قادر به اجراي فایل اسکریپت هستیم.
براي اینکه اسکریپت اجرا شود بایستی قبل از نام فایل اسکریپت نام مسیر آن را نیز تعیین کنیم.
ببینید سیستم هر بار که نیاز به پیدا کردن یک برنامه اجرایی پیدا می کند در صورتی که هیچ مسیر مشخصی تعیین نشده باشد یک لیست از پوشه ها را جستجو می کند.
این شیوه اي است که سیستم می داند چگونه به هنگام نوشتن دستور ls آن را از مسیر bin/ls/ اجرا کند.
پوشه bin/ یکی از پوشه هایی است که سیستم به صورت خودکار آن را جستجو می کند.
لیست پوشه ها درون یک متغیر محیطی با نام PATH نگهداري می شود.
متغیر PATH حاوي یک لیست از پوشه ها براي جستجو است که با دو نقطه (:) از هم جدا شده اند.
می توانیم محتویات متغیر PATH را با دستور echo مشاهده کنیم:
در تصویری که مشاهده کردید ما لیستی از پوشه ها را می بینیم.
اگر اسکریپت ایجاد شده توسط ما هم در این مکان قرار داشت، مشکل ما نیز برطرف می شد.
اکثر توزیع هاي لینوکس متغیر PATH را به گونه اي پیکربندي می کنند
که حاوي پوشه bin براي کاربر خانگی باشد که از این طریق به هر کاربر اجازه دهند تا دستورات خود را در پوشه خانگی اجرا کنند.
اگر این قابلیت در توزیع شما وجود داشته باشد
بایستی در تصویری که دیدید (براي مثال کاربر من rashvand است) مسیر home/rashvand/bin/ وجود داشته باشد ولی اینگونه نیست
و چنین مسیري را در تصویر نمی بینید! چه کنیم؟
مشکلی نیست می توانید به سادگی آن را اضافه کنید.
ابتدا دستور vi .bashrc را در خط فرمان اجرا کنید تا فایل bashrc. را ویرایش کنید.
به آخر فایل رفته و خط کد زیر را به فایل اضافه کرده و آن را ذخیره کنید
“export PATH=~/bin:”$PATH
پس از اینکه این تغییر را در فایل ایجاد کردید براي اینکه در ترمینال اعمال شود بایستی کاري کنیم که شل دوباره فایل bashrc. را بخواند.
این کار را با مرجع قرار دادن آن به صورت زیر انجام می دهیم با استفاده از (bashrc. .) اکنون اگر بار دیگر متغیر $PATH را مشاهده کنیم
می بینیم که مسیر home/rashvand/bin/ قبل همه اضافه شده است.
مکان مناسب براي فایل هاي اسکریپت کجاست؟
پوشه bin/ در داخل پوشه خانگی مکانی مناسب به منظور استفاده هاي شخصی می باشد.
اگر ما اسکریپتی را نوشته ایم که می خواهیم به همه بر روي سیستم اجازه استفاده از آن را بدهیم
بایستی فایل اسکریپت خود را در داخل پوشه اصلی usr/local/bin/ قرار دهیم.
اکثرا اسکریپت هایی که براي استفاده هاي مدیریتی مورد استفاده قرار می گیرند در داخل پوشه usr/local/bin/ قرار می گیرند.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.