پیوست ‎L‎- فرمان‌های تاریخچه

پوسته Bash ابزارهای خط فرمان برای ویرایش و دستکاری تاریخچه فرمان کاربر را در اختیار قرار می‌دهد. این بیشتر یک سهولت است، یک وسیله برای صرفه‌جویی ضربه کلیدها.

فرمان‌های تاریخچه در Bash:

  1. history

  2. fc

bash$ history
    1  ‎mount /mnt/cdrom‎
    2  ‎cd /mnt/cdrom‎
    3  ls
     ...

متغیرهای داخلی مرتبط با فرمان‌های تاریخچه Bash:

  1. ‎$HISTCMD‎

  2. ‎$HISTCONTROL‎

  3. ‎$HISTIGNORE‎

  4. ‎$HISTFILE‎

  5. ‎$HISTFILESIZE‎

  6. ‎$HISTSIZE‎

  7. ‎$HISTTIMEFORMAT‎ (Bash, ver. 3.0 or later)

  8. !!

  9. ‎!$‎

  10. ‎!#‎

  11. ‎!N‎

  12. ‎!-N‎

  13. ‎!STRING‎

  14. ‎!?STRING?‎

  15. ‎^STRING^string^‎

متاسفانه، ابزارهای تاریخچه Bash در اسکریپت‌نویسی مورد استفاده نیستند.

#!/bin/bash
# history.sh
# یک تلاش (بیهوده) برای استفاده از فرمان history در یک اسکریپت.
history                      #  بدون خروجی.
var=$(history); echo "$var"  # ‎$var‎ تهی است.

# فرمان‌های تاریخچه به طور پیش‌فرض در داخل اسکریپت‌ها غیر فعال هستند.
#اما، به طوریکه ‎dhw‎ اشاره می‌کند، ‎set -o history‎ مکانیسم تاریخچه را
#+                                                     فعال می‌کند.
set -o history
var=$(history); echo "$var"   # 1  var=$(history)

bash$ ./history.sh
1  var=$(history); echo "$var"	      

سایت ‎Advancing in the Bash Shell‎ معرفی خوبی در باره استفاده از فرمان‌های تاریخچه در Bash ارایه می‌کند.