Setiap jawaban di sini, sejauh yang saya tahu, adalah non-portabel. Untuk opsi portabel, pertimbangkan jaminan POSIX fc
:
$ man fc
-E Editor Gunakan editor bernama oleh Editor untuk mengedit perintah. Editor string adalah nama utilitas, tunduk mencari melalui PATH variabel ... Nilai dalam FCEDIT variabel harus digunakan sebagai default ketika -e tidak ditentukan. Jika FCEDIT adalah nol atau tidak disetel, ed harus digunakan sebagai editor.
−l (Huruf ell.) Daftar perintah daripada meminta editor pada mereka. Perintah harus ditulis dalam urutan yang ditunjukkan oleh operan pertama dan terakhir, sebagaimana dipengaruhi oleh −r , dengan setiap perintah didahului dengan nomor perintah.
−n Menekan nomor perintah saat mendaftar dengan −l .
Reverser Membalik urutan perintah yang tercantum (dengan −l ) atau diedit (dengan −l maupun −s ) .
Menjalankan kembali perintah tanpa memohon editor.
Operan
pertama , terakhir
Pilih perintah untuk daftar atau edit. Jumlah perintah sebelumnya yang dapat diakses harus ditentukan oleh nilaivariabel HISTSIZE . Nilai pertama atau terakhir atau keduanya akan menjadi salah satu dari berikut ini:
[+ atau-] nomor
A angka positif (atau negatif ) yang mewakili nomor perintah; nomor perintah dapat ditampilkan denganopsi −l ... Misalnya, −1 adalah perintah sebelumnya yang segera ...
Ketika opsi −l digunakan untuk membuat daftar perintah, format setiap perintah dalam daftar adalah sebagai berikut:
"%d\t%s\n", <line number>, <command>
Jika kedua opsi −l dan −n ditentukan, format setiap perintah adalah:
"\t%s\n", <command>
Jika terdiri dari lebih dari satu baris, baris setelah yang pertama akan ditampilkan sebagai:
"\t%s\n", <continued-command>
Tetapi pastikan untuk menggunakan -l atau -e jika Anda HANYA ingin melihat / mengedit perintah Anda. Secara default fc
akan membuka daftar perintah yang diminta dalam FCEDIT (catatan yang berbeda dari variabel lingkungan EDITOR Anda ) dan, ketika FCEDIT berhenti, fc
akan menjalankan perintah yang diedit.
Bagaimanapun, secara khusus jawaban untuk pertanyaan ini dapat:
% fc -l -1
Atau tanpa nomor baris:
% fc -ln -1
Atau lima perintah terakhir dalam urutan terbalik:
% fc -lrn -1 -5
Di pager Anda:
% fc -lrn -1 -5 |$PAGER
Untuk panggilan terakhir Anda ke fc
:
% fc -l fc