نوشتن برنامه یک دستور در لینوکس
سلام به همگی ! چند تا سوال داشتم میخواستم بدونم که چجوری میتونم یه دستور مثل ls -A -R رو خودم بنویسم و به عنوان دستورات پیش فرض لینوکس در داخل دایروکتوری bin قرار بدم و مثل یه دستورات معمولی ازش استفاده کنم به عنوان مثال همین دستور رو که گفتم با شل اسکریپت بنویسم و با اسم خودم وارد دستورات عمومی کنم مثلا بشه دستور ali اما اون کار ها رو انجام بده ؟ اگه طولانی و نیاز به یه برنامه نویسی کامل داره چجوریه ؟؟؟
3 پاسخ
اگر میخواهید وقتی مینویسید ali دستور ls -A -R اجرا شود باید از alias استفاده کنید .معمولا از دستوراتی که زیاد استفاده میشه و عموما پارامتر زیاد داره و نوشتنش خسته کننده است از alias یا نام مستعار استفاده می کنیم مثال:
alias ali="ls -A -R"
alias hassan="echo hello,how are you?"
حال با تایپ فقط ali یا hassan دستورات شما اجرا خواهد شد.
با سلام. در تکمیل پاسخ های دوستان باید بگم که استفاده از alias گزینه بسیار خوبی برای کوتاه کردن و سفارشی کردن دستورات ترمینال است. فقط این نکته رو اضافه میکنم که برای اینکه alias هایی که نوشتی، برای همیشه ذخیره بشن و در هر بار بوت شدن سیستم قابل استفاده باشن، باید در bashrc هر کاربر ذخیره بشن. برای کاربر روت این فایل در مسیرroot.bashrc و برای کاربران دیگر در آدرس پروفایل خودشون، مثلا homemohammad/.bashrc قرار دارد. اگر این فایل ها رو cat کنید، متوجه میشید که الگوی ذخیره alias چیه. البته ممکنه واسه یه کاربر خالی باشه. بهتره برید فایل روت رو ببینید اول.
فایل رو با یه چیزی مث vim باز کنید تا بتونید تغییرش بدید.
سلام ، اکثر دستورات لینوکس با C نوشته شده اند،شما جهت نوشتن دستوری پایه مثل ls باید از C استفاده کنید.ولی اگر شل اسکریپت های پیچیده ای مثل شل های مانیتورینگ که از چند دستور خود لینوکس استفاده میکنن مد نظرتون باشه ، بعد از نوشتن کامل اسکریپت اون رو با استفاده از shc می تونی به برنامه اجرایی تبدیل کنی و بعد هم فایل اجرایی رو توی path کاربرت کپی می کنی تا بتونه ازش استفاده کنه ، برای پیدا کردن path هم از دستور echo $PATH استفاده کن ، یک خروجی مثل خروجی زیر رو بهت میده
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/mparvin/.local/bin:/home/mparvin/bin
مثلا اگر بخواهی فقط کاربر mparvin از برنامه استفاده کنه باید فایل رو داخل home//mparvin//bin// کپی کنی
برای استفاده از دستور shc
اول باید نصبش کنی که بهترین کار compile کردنش هست
هرکدوم از نسخه ها رو که بخواهی با دستور wget از لینک زیر بگیر
http://www.datsi.fi.upm.es/~frosal/sources/
مثال :
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
بعد با دستور tar فایل رو extract کن:
tar xzvf shc-3.8.9.tgz
بعد وارد پوشه می شویم:
cd shc-3.8.9
برای اجرا دستور باید به ترتیب زیر عمل کرد:
./shc -f script.sh