Dengan zsh, Anda akan menggunakan alias global :
$ alias -g '^^=--help|grep --color -i'
$ ls ^^ size
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-h, --human-readable with -l and/or -s, print human readable sizes
-s, --size print the allocated size of each file, in blocks
-S sort by file size, largest first
--sort=WORD sort by WORD instead of name: none (-U), size (-S),
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
The SIZE argument is an integer and optional unit (example: 10K is 10*1024)
Dengan bash, Anda mungkin dapat menggunakan ekspansi histori yang merupakan salah satu yang terjadi cukup awal pada penguraian shell yang dapat digunakan untuk mengganti pipa:
Perdana sejarah dengan teks yang ingin Anda gantikan dan karakter khusus Anda tidak mungkin menggunakan sebaliknya (seperti di £sini yang kebetulan ada di keyboard saya):
$ --help $(: £)|grep
bash: --help: command not found
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Kemudian gunakan ekspansi riwayat untuk mengambil itu:
$ ls !?£? size
ls --help $(: £)|grep size
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
-h, --human-readable with -l and/or -s, print human readable sizes
-s, --size print the allocated size of each file, in blocks
-S sort by file size, largest first
--sort=WORD sort by WORD instead of name: none (-U), size (-S),
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
Atau Anda dapat readlinememperluas --help|grepbeberapa tombol atau urutan tombol tekan. Untuk itu bashhanya berlaku untuk (dan bukan aplikasi lain seperti gdbmenggunakan readline), Anda dapat menggunakan perintah bindbash builtin yang merupakan bashAPI untuk mengkonfigurasi readline, misalnya di ~/.bashrc:
bind '"^^": "--help|grep "'
Atau tambahkan ke ~/.inputrc(file konfigurasi readline Anda):
$if Bash
"^^": "--help|grep "
$endif
(ada cangkang lain seperti rcatau esyang menggunakan readline dan di mana melakukan pengikatan itu masuk akal tetapi AFAICT, mereka tidak mengatur rl_readline_namevariabel sebelum memohon readlinesehingga Anda tidak akan dapat menambahkan beberapa $ifpernyataan untuk mereka (mereka akan ditampilkan otherseperti semua aplikasi yang menggunakan readline tanpa memberi tahu nama aplikasi mereka)).
Perhatikan bahwa Anda harus memasukkan yang kedua ^dalam waktu setengah detik (secara default) setelah yang pertama agar terjadi substitusi.
qh () { type -all "$1" ; { "$1" --help || man "$1" ;} | egrep -i -- "$2" ;}# maka Anda bisa: qh ls size, qh ls "something | another" etc. the (optionnal)type -all "$1"juga menambahkan info tentang $ 1: dikatakan jika Anda akan meluncurkan alias, fungsi, dan perintah, dll. Dan itu memberikan info dari man "$ 1" jika perintah $ 1 tidak memiliki opsi "--help" (ini kadang-kadang terjadi)