Jawaban:
The type
builtin berguna untuk ini. Ini tidak hanya akan memberi tahu Anda tentang alias, tetapi juga fungsi, bawaan, kata kunci, dan perintah eksternal.
$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep ()
{
ps -ef | {
read -r;
printf '%s\n' "$REPLY";
grep --color=auto "$@"
}
}
type -a cmd
akan menampilkan semua perintah dengan nama itu dalam urutan prioritas, yang berguna untuk ls
alias di atas, tempat alias itu sendiri memanggil ls
.
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
Ini memberitahu Anda bahwa ketika Anda menjalankan ls
, /bin/ls
akan digunakan, dan --color=auto
akan dimasukkan dalam daftar argumennya, di samping yang lain yang Anda tambahkan sendiri.
type
sampai Anda menekan sesuatu selain alias ...
type
akan menguraikan / menafsirkan setiap kutipan, sehingga Anda dapat memastikan kutipan itu benar.
ls is aliased to 'ls --color=auto'
, tetapi bagaimana saya bisa mendapatkan satu lapisan lebih dalam, untuk melihat apakah ia menggunakan / bin / ls atau / usr / local / bin / ls atau apa?
type -a ls
akan menampilkan semua perintah ls yang ditemukan dalam urutan pilihan. Apapun yang tepat di bawah alias adalah yang akan dieksekusi oleh alias.
Cukup ketik alias
saat di prompt Shell. Seharusnya menampilkan daftar semua alias yang saat ini aktif.
Atau, Anda bisa mengetik alias [command]
untuk melihat alias alias spesifik apa, sebagai contoh, jika Anda ingin mencari tahu ls
alias alias itu, Anda bisa melakukannya alias ls
.
alias ls
untuk mencari tahu apa yang secara khusus ls
alias.
type
Namun, berfungsi dalam kedua kasus.
Saya sangat suka Ctrl+ Alt+ Eketika saya belajar dari jawaban ini . Ini "memperluas" baris perintah yang saat ini diketik, artinya melakukan ekspansi alias (antara lain).
Apa artinya? Ternyata alias apa pun, yang saat ini mungkin ditulis pada baris perintah, menjadi singkatan dari apa itu.
Misalnya, jika saya mengetik:
$ ls
dan kemudian tekan Ctrl+ Alt+ E, itu berubah menjadi
$ ls --time-style=locale --color=auto
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R
bukannyasqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
Sebenarnya jawaban yang benar adalah menggunakan array BASH_ALIASES, misalnya:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
ls
alias saat ini tanpa mengubah apa yang ada di sana. Jadi saya akan alias ls="${BASH_ALIASES[ls]} --time-style=iso"
menangani kasus saya.
Anda bisa menggunakan which
perintah.
Jika Anda menetapkan alias untuk ls
sebagai ls -al
dan kemudian mengetik which ls
, Anda akan melihat:
ls: aliased to ls -al
.
which
perintah.
which
adalah cara yang buruk untuk mencari alias seperti yang dijelaskan di sini: unix.stackexchange.com/questions/10525/… Bahkan tidak berfungsi bagi saya untuk alias di bash di Ubuntu.