Misalkan saya memiliki alias di bash shell. Apakah ada perintah sederhana untuk mencetak perintah apa yang akan dijalankan alias?
command-line
bash
alias
Casebash
sumber
sumber
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 tahuls
alias alias itu, Anda bisa melakukannyaalias ls
.sumber
alias ls
untuk mencari tahu apa yang secara khususls
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:
dan kemudian tekan Ctrl+ Alt+ E, itu berubah menjadi
sumber
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:
sumber
ls
alias saat ini tanpa mengubah apa yang ada di sana. Jadi saya akanalias ls="${BASH_ALIASES[ls]} --time-style=iso"
menangani kasus saya.Anda bisa menggunakan
which
perintah.Jika Anda menetapkan alias untuk
ls
sebagails -al
dan kemudian mengetikwhich ls
, Anda akan melihat:ls: aliased to ls -al
.sumber
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.