پوسته Bash ابزارهای خط فرمان برای ویرایش و دستکاری تاریخچه فرمان کاربر را در اختیار قرار میدهد. این بیشتر یک سهولت است، یک وسیله برای صرفهجویی ضربه کلیدها.
فرمانهای تاریخچه در Bash:
history
fc
bash$ history 1 mount /mnt/cdrom 2 cd /mnt/cdrom 3 ls ...
متغیرهای داخلی مرتبط با فرمانهای تاریخچه Bash:
$HISTCMD
$HISTCONTROL
$HISTIGNORE
$HISTFILE
$HISTFILESIZE
$HISTSIZE
$HISTTIMEFORMAT (Bash, ver. 3.0 or later)
!!
!$
!#
!N
!-N
!STRING
!?STRING?
^STRING^string^
متاسفانه، ابزارهای تاریخچه Bash در اسکریپتنویسی مورد استفاده نیستند.
#!/bin/bash # #یک تلاش (بیهوده) برای استفاده از فرمان history در یک اسکریپت. history #بدون خروجی. var=$(history); echo "$var" #$var تهی است. #فرمانهای تاریخچه به طور پیشفرض در داخل اسکریپتها غیر فعال هستند. #اما، به طوریکه dhw اشاره میکند، set -o history مکانیسم تاریخچه را #+فعال میکند. set -o history var=$(history); echo "$var" #
bash$ ./history.sh 1 var=$(history); echo "$var"
سایت Advancing in the Bash Shell معرفی خوبی در باره استفاده از فرمانهای تاریخچه در Bash ارایه میکند.