Katakanlah saya memiliki alias berikut dalam bash - alias ls='ls --color=auto'
- dan saya ingin memanggil biasa ls
tanpa opsi. Apakah satu-satunya cara untuk melakukannya adalah ke unalias, melakukan perintah dan kemudian alias lagi? Atau ada beberapa trik atau solusi yang bagus?
164
Jawaban:
Anda juga dapat awalan garis miring untuk menonaktifkan alias:
\ls
Sunting: Cara lain untuk melakukan hal yang sama meliputi:
Gunakan "perintah":
command ls
sesuai Mikel .Gunakan path lengkap:
/bin/ls
sesuai uther .Kutip perintah:
"ls"
atau'ls'
sesuai komentar Mikel.Anda dapat menghapus alias sementara untuk sesi terminal dengan
unalias command_name
.sumber
command
ataubuiltin
.l\s
melakukan hal yang sama. Apakah perilaku ini bug atau fitur?Untuk itulah
command
perintah itu.Mencoba
Ini memberitahu shell untuk mem-bypass alias dan fungsi.
Cara ini didukung oleh bash , zsh , dan ash / dash.
sumber
Alias hanyalah jalan pintas yang ditentukan. Dalam contoh ini, alias yang didefinisikan adalah string
ls
, yang dijalankanls --color=auto
. Jika Anda tidak menginginkan perilaku itu, Anda bisa memanggil binerls
menggunakan jalur absolut.Jadi mengeksekusi hanya
/bin/ls
akan menghasilkan output tanpa warna karena itu bukan alias yang Anda tetapkan.Anda juga dapat mengubah alias menjadi sesuatu yang berbeda, atau menambahkan alias baru yang dijalankan hanya
ls
tanpa parameter warna.sumber
/bin
dan/usr/bin
arbitrer.which
untuk beberapa perintah:which ls
.which
(atautype
), ia melakukan pencarian via$PATH
; Anda mungkin hanya menggunakanls
atau\ls
daripada menentukan path.Cara lain, membangun berdasarkan jawaban @ uther, adalah dengan menggunakan
$(which ...)
atau`which ...`
(menggunakan backticks``
) untuk secara otomatis menemukan jalur executable. Ini akan bekerja dibash
:Tidak diragukan lagi, hanya awalan perintah dengan
\
jauh lebih pendek.UPDATE : Menurut Cara menggunakan `yang` pada perintah alias? , ini sepertinya tidak bisa diandalkan sama sekali.
sumber
`which ls`
mengeksekusi biner secara langsung.(which ls)
itu tidak bekerja untuk saya (pada Ubuntu 12.04 LTS) Dan backticks itu sulit, saya hanya lolos dari mereka: \ `which ls \`. Butuh banyak pengeditan untuk sampai di sana :)$
?Secara pribadi, saya hanya menghindari mendefinisikan alias dengan nama yang sama dengan perintah, jadi
ls
selalu aktifkan perintah yang sebenarnya. Saya memiliki alias atau fungsi untuk berbagai kombinasi pilihan sepertil
,ll
, danlg
. (Ini berarti saya butuhkanunalias ls
di.bashrc
atau.cshrc
.)Saya menemukan bahwa asumsi OS tentang opsi mana yang saya lebih suka (mengesampingkan asumsi para perancang
ls
perintah itu sendiri) jarang cocok dengan selera pribadi saya. Kebetulan saya tidak menyukai tampilanls --color=auto
, dan keterbacaannya dapat sangat bervariasi antara hitam putih dan hitam putih.YMMV, dan solusi lainnya tentu saja masih bagus untuk diketahui.
sumber
Mengetik perintah dalam huruf besar sepertinya berfungsi, seperti
LS
, meskipun saya tidak begitu yakin mengapa.sumber
LS - display animations aimed to correct users who accidentally enter LS instead of ls.