Gap messenger
Download

🔹چند Config بسیار مهم در BASH که پنهان مانده است!!!

✍ سپهراد سالور

از آنجایی که در بیشتر سیستم عامل های خانواده یونیکس و لینوکس به صورت پیش فرض از BASH استفاده می شود بهتر است آن را بیشتر بشناسیم.
چند کانفیگ بسیار مهم که می توان به جرات بگویم اکثر افراد از آن بی اطلاع هستند و در اینترنت نیز حداقل من مقاله ای در مورد آن نیافته ام در این مقاله توضیح خواهم داد.
۱) برای دیدن این تنظیمات و تغییر آن در صورت نیاز ابتدا می بایست سورس BASH را دانلود کنید. در اینجا از ورژن ۴.۳ استفاده شده است..
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
۲) سورس را از حالت gz و tar خارج می کنیم.
tar xf bash-4.3.tar.gz
۳) حال وارد دایرکتوری سورس BASH می شویم و فایل config-top.h را بررسی می کنیم.
cd bash-4.3.tar.gz
less -N config-top.h
۴) در این فایل طبق نوشته خط اول مبنی بر user-settable options می توان تنظیمات BASH را تغییر داد. فرمت این فایل به این شکل است که در یک متن Comment یکی از Option ها را توضیح داده و بعد یک یا چند خط کد پیش پردازنده زبان C یعنی define# آمده که برای استفاده از آن ماکرو می باشد و در صورت نیاز می بایست آن را از حالت Comment خارج کرد و یا تغییر داد.
در اینجا به چند Option کاربردی می پردازیم و بقیه Option ها را خودتان می توانید مطالعه کنید.

🔸 تغییر Default PATH:
در خط 63-59 می توانید PATH پیش فرض BASH را به طور دلخواهتان تغییر دهید.

🔸 تغییر Default Prompt:
در خط 72-74 می توانید Prompt پیش فرض BASH را به طور دلخواه تغییر دهید.

🔸تنظیم System Wide .bashrc & .bash_logout:
در صورتی که می خواهید کاربر بعد از اتصال و یا خروج از سیستم یک اسکریپت برای همه آن اجرا شود خط 83 و 86 را از حالت Comment در بیاورید و اسکریپت خود را در فایل های \"etc/bash.bashrc/\" و \"etc/bash.bash_logout/\" قرار دهید.

🔸 تنظیم command_not_found_handler:
به طور پیش فرض در BASH اگر دستوری وارد کنید و وجود نداشته باشد تابع command_not_found_handle اجرا می شود برای تغییر نام آن می توانید خط 105 را تغییر دهید.

🔸 تنظیم Log History:
در صورتی که می خواهید هر دستوری توسط هر یوزری اجرا می شود لاگ شود می بایست خط 109 را از حالت Comment خارج کنید. با اینکار هر خط دستوری که در لیست bashhist ذخیره شود به syslog ارسال می شود. ( در سیستم های Redhat می توانید این لاگ ها را به طور پیش فرض در
var/log/messages/ مشاهده کنید.)

حال نوبت به کامپایل BASH و استفاده از BASH خودمان می باشد:
./configure && make
حال فایل bash شما به همین نام آماده است و می توانید آن را در مسیر اصلی سیستم bin/ قرار دهید.

#مقاله_آموزشی
#Linux #Shell #BASH #BashConfig
🆔 @linuxfedora
کانال ما در گپ
https://Gap.im/itmans
گروه پرسش و پاسخ در گپ
https://Gap.im/gnu_linux

11 February 2019 | 03:24