مدیریت تاریخچه دستورات در Bash

تو Bash یه متغیر داریم به نام HISTCONTROL که مشخص میکنه چه دستوراتی تو تاریخچه بمونه تا بعدا بشه اونها رو دید

این متغیر یکی از سه مقدار مقدار زیر رو میتونه بگیره

  •    ignorespace دستوراتی که اولشون فاصله (اسپیس) هست تو تاریخچه ذخیره نشه
  •    ignoredups دستورات تکراری پشت سر هم تو تاریخچه ذخیره نشه
  •    ignoreboth هر دو مورد بالا اعمال شود

این متغیر رو باید تو bashrc سیستم و یا دایرکتوری کاربر قرار بدید

یه متغیر دیگه هم داریم به نام HISTIGNORE که میتونید دستوراتی که که نمیخواید ذخیره بشه رو توش قرار بدید

تاریخجه در فایلی ذخیره میشه که در متغیر HISTFILE قرار داده شده

همچنین برای اینکه دستوراتتون تو سیشن جاری تو تاریخچه ذخیره نشه میتونید یکی از دو دستور زیر رو بزنید

یه نکته مهم اینکه وقتی از بش خارج شدید، دستورات در تاریخچه ذخیره میشن و اگه مثلا به صورت غیر عادی خارج شید مثل موقعی که اس اس اچ زدید به سرور و یهو ارتباط قطع میشه این اتفاق نمیفته. برای اینکه کاری کنید که دستورات بلافاصله ذخیره بشن میتونید از متغیر PROMPT_COMMAND استفاده کنید.

بش قبل از اجرای هر دستور، میاد دستوری که توی این متغیر قرار داره رو اجرا میکنه

این دستور به بش میگه قبل از اجرا هر دستور بیاد اخرین دستوری که زده شده رو تو تارخچه ذخیره کنه

منبع

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *