Saya ingin membuat alias untuk memberi rm
perintah agar memiliki pesan konfirmasi setelah menjalankan perintah ini. Jadi saya membuat alias seperti ini alias rm='rm -i'
. Tapi sejauh yang saya tahu ini adalah alias sementara dan itu hidup sampai Anda menutup terminal.
Seperti yang dijelaskan di sini untuk menyimpan alias secara permanen saya perlu mengeksekusi ~/.bash_aliases
atau ~/.bashrc
perintah di terminal dan menambahkan alias saya di sana. Tetapi ketika saya mengeksekusi ~/.bashrc
saya menerima pesan kesalahan berikut:
bash: /home/bakhtiyor/.bashrc: Permission denied
Ketika saya menjalankan ~/.bash_aliases
saya mendapatkan pesan kesalahan lain seperti ini:
bash: /home/bakhtiyor/.bash_aliases: File or directory doesn't exist.
Apa masalah sebenarnya dan bagaimana saya bisa menyelesaikannya?
alias rm='rm -i'
tidak memecahkan masalah menggunakan rm sembaranganJawaban:
Untuk membuat alias, tambahkan alias secara permanen ke
.bashrc
file AndaDan kemudian tambahkan alias Anda di bagian bawah.
Sekarang jalankan
. ~/.bashrc
di terminal Anda (harus ada ruang antara.
dan~/.bashrc
.Sekarang Anda dapat memeriksa alias Anda.
sumber
source
. Dengan. ~/.bashrc
, Anda sumber bash Anda. Mengeksekusi file akan memulai proses anak, jalankan perintah dalam proses ini, lalu kembali. Semua yang dilakukan dalam proses anak tidak berpengaruh pada proses induk (bash dari mana Anda dieksekusi). Sebaliknya, sumber (dengan titik) bertindak persis seperti jika Anda menulis konten file di terminal. Ini yang kamu inginkan..bashrc
bersumber setiap kali Anda memulai sebuah bash. Jika Anda membuat perubahan, itu tidak akan berlaku sampai Anda memulai bash atau sumber baru secara manual.Ada banyak cara untuk membuat alias. Cara yang paling sering digunakan adalah:
Tambahkan alias langsung ke
~/.bashrc
file AndaMisalnya: tambahkan baris ini ke
~/.bashrc
fileWaktu berikutnya (setelah Anda log out / in, atau dilakukan
. ~/.bashrc
) ketika Anda mengetikrm
yangrm -i
perintah akan dieksekusi.Metode kedua memungkinkan Anda membuat file alias terpisah, jadi Anda tidak perlu memasukkannya
.bashrc
, tetapi ke file pilihan Anda. Pertama, edit~/.bashrc
file Anda dan tambahkan baris berikut jika belum ada, atau batalkan komentar jika sudah:Simpan dan tutup file. Setelah itu, yang harus Anda lakukan adalah membuat
~/.bash_aliases
file dan menambahkan alias di sana, dengan format yang sama yang ditentukan dalam metode pertama.Isi
~/.bash_aliases
file saya :sumber
~/.bash_aliases
.alias aliases="xdg-open ~/.bash_aliases && source ~/.bash_aliases"
, sehingga alias menjadi berguna untuk disimpan, dan jika Anda melakukan kesalahan itu akan mengiklankan Anda.alias ls='ls -althr'
, beberapa flag yang diberikan tidak akan berpengaruh, dalam hal ini flag -t tidak berlaku. apa kamu tahu kenapa?~/.bashrc
berisi penyertaan untuk~/.bash_aliases
, tidak perlu mengeditnya.Bagi saya sepertinya satu-satunya masalah Anda hanyalah mencoba mengeksekusi .bashrc ketika itu tidak dapat dieksekusi. Tetapi ini bukan cara yang benar untuk melakukannya; setiap kali Anda membuat perubahan pada file ini, Anda harus "mengeksekusi" dengan perintah:
Jika tidak, itu hanya akan membuat shell baru, jalankan file di lingkungan shell baru, lalu buang lingkungan itu ketika keluar, sehingga kehilangan perubahan Anda. Dengan sumber skrip, ia mengeksekusi di dalam shell saat ini, sehingga akan tetap berlaku.
Saya berasumsi kesalahan kedua adalah karena bash_aliases tidak ada. Tidak diperlukan, hanya disarankan untuk menjaga perubahan Anda terpisah dan terorganisir. Ini hanya digunakan jika ada, dan Anda dapat melihat tes untuk itu di .bashrc:
Ini mengatakan bahwa jika file ~ / .bash_aliases ada, maka jalankan.
sumber
~/.bash_aliases
lebih baik. askubuntu.com/questions/194111/…source
perintah membuat alias saya berfungsi. +1. ~/.bash_aliases
memiliki arti yang sama dengan perintah bawaan shellsource
. Saya menemukan ini sebagai jawaban yang benar, menjelaskan apa yang terjadi.Masalahnya adalah Anda mencoba mengeksekusi file yang tidak dapat dieksekusi: Anda dapat memeriksanya dengan:
Perhatikan tidak ada huruf "x - executable" pada kolom pertama (izin file).
File profil bukan file yang dapat dieksekusi, alih-alih mengeksekusi mereka Anda memuatnya dengan:
atau
sumber
Ini adalah contoh yang saya cari, cara mengetik beberapa huruf di terminal ("vps") untuk login dari jauh ke server dan mengaktifkan penerusan X11 sehingga saya bisa menjalankan aplikasi gui seperti "gedit" melalui jaringan.
Apapun perintah / perintah alias, cara ini dengan pernyataan gema, tanda kutip, dan simbol untuk menambahkan output dari perintah ke file (>>) bekerja untuk saya. Cukup ganti perintah saya untuk perintah alias yang Anda butuhkan dan masukkan ke terminal Anda.
sumber
jika Anda menggunakan ruby, Anda dapat menginstal alias menggunakan rubygem.
gem install aka2
pemakaian
rubygem akan sumber-otomatis file dot Anda sehingga Anda tidak perlu. Saksikan berikut ini.
sumber
Saya menulis fungsi yang bermanfaat ini untuk dengan cepat membuat alias baru, dan kemudian menulis definisi alias ke
~/.bash_aliases
(jika ada) atau~/.bashrc
.TIP : Pastikan
~/.bash_aliases
ada & dijalankan di~/.bashrc
.sumber
.bashrc
dengan banyak contohalias
perintah. Fungsi Anda pasti perlu menerapkan beberapa pemeriksaan untuk menghindari kekacauan seperti itu.Saya sarankan menggunakan
/etc/bash.bashrc
Anda dapat menambahkan baris di akhir file itu.
Setelah meletakkan alias per baris, Anda harus reboot atau login kembali.
sumber
source /etc/bash.bashrc
melakukan semua yang Anda inginkan dalam contoh ini. Tetapi harus menggunakan~/.bashrc
atau~/.bash_aliases
sebagai gantinyaSeingat saya,
bashrc
memiliki, atau pernah, baris yang menyarankan untuk tidak menggunakannya untuk alias secara langsung. The solusi adalah dengan menggunakan file eksternal (s). Thefoo
danbar
alias telah ditambahkan, tetapi untuk menambahkanbaz
inibashrc
file yang harus "bersumber" (atau, hanya membuka terminal baru). Contoh sebagai:sekarang
baz
alias berfungsi. Saya baru saja menyadari bahwa jawaban sebelumnya telah menyebutkan teknik ini, tetapi mereka telah mengubur lede.sumber