Bagaimana saya bisa sumber file bashrc setiap kali saya 'jelas'

13

Ini mungkin ide yang buruk. Semakin saya memikirkannya, semakin saya menyadari bahwa saya seharusnya tidak melakukannya ... tapi saya sudah mencoba dan gagal sehingga saya BENAR-BENAR ingin tahu bagaimana melakukannya, walaupun itu ide yang buruk.

Yang saya inginkan adalah agar file bashrc diperoleh dari sumber setiap kali saya menjalankan clearperintah. Alasan untuk ini sepenuhnya materialistis. Saya memiliki informasi sistem yang disuarakan ketika saya sumber bashrc dan itu keren bagi saya dan saya ingin itu menjadi yang teratas setiap kali saya membersihkan.
Saya sudah mencoba untuk membuat beberapa alias cleartapi saya tetap mengalami loop tak terbatas. Perbaikan yang jelas adalah untuk mengubah alias ke sesuatu yang lain selain jelas sehingga saya dapat menjalankan perintah yang jelas di alias tanpa mengganggu tetapi saya mengetik begitu sering sehingga agak tertanam di otak saya pada saat ini. Saya ingin bisa mengetik dengan jelas dan membuatnya jelas DAN sumber file bashrc.

CaldwellYSR
sumber
2
Pastikan skrip .bashrc Anda tidak memiliki efek kumulatif. Jika ia melakukan sesuatu seperti menambahkan sesuatu ke jalur Anda, itu bisa berantakan. Secara umum, .bashrc adalah untuk menginisialisasi lingkungan shell Anda. jika itu melakukan hal-hal lain, maka akan lebih baik untuk membaginya menjadi skrip baru dan menyebutnya dengan jelas. Juga, jika orang lain menggunakan sistem Anda atau membantu Anda, mereka mungkin menemukan perilaku yang tidak terduga karena Anda telah menggunakan kembali perintah umum.
Joe
@ Jo. Itu poin bagus tentang orang lain yang menggunakan sistem saya. Kalian telah mengemukakan banyak hal yang tidak saya pikirkan.
CaldwellYSR

Jawaban:

27

alias clear='source ~/.bashrc; \clear'

The \memberitahu bash yang Anda ingin memanggil perintah eksternal, bukan alias.

Daniel Pittman
sumber
Ah bagus, saya tahu itu akan menjadi sesuatu yang sederhana seperti itu!
CaldwellYSR
13
Anda mungkin ingin melakukan ini dalam urutan lain, atau yang jelas akan menghapus semua output yang .bashrcdihasilkan. Tapi itu juga ide yang buruk untuk .bashrcmenghasilkan output sama sekali.
cjm
@ cjm Ya, saya menyadari bahwa pagi ini tentang pesanan. Saya sudah memilikinya dalam urutan yang benar, saya hanya tidak memiliki yang ` in front of jelas` Saya akan melihat informasi tentang bashrc dan output. Terima kasih untuk tautannya.
CaldwellYSR
alternatif untuk \clearadalahcommand clear
glenn jackman
@CaldwellYSR, versi singkatnya adalah ssh host commandsumber itu .bashrc. Jika itu menghasilkan output, itu akan membingungkan skrip yang mencoba menjalankan perintah jarak jauh di host & akun Anda. Anda mungkin tidak melakukan itu sekarang, tetapi suatu hari Anda mungkin, dan kemudian Anda akan bingung mengapa itu tidak berhasil.
cjm
2

Tulis skrip yang mencetak informasi sistem yang Anda inginkan. Aktifkan dari .bashrcdan dari clearalias Anda .

Keith Thompson
sumber
1

Di .bashrcset Anda alias untuk clearsumber-sumber .bashrcitu sesudahnya:

alias clear='clear && . ~/.bashrc'

sumber
1

Per komentar Joe ... jika Anda memiliki "efek kumulatif" (profil Anda tidak aman untuk dijalankan kembali beberapa kali), berikut ini retasan untuk menyiasatinya!

alias clear='\clear; exec bash -l'

Ini benar-benar memulai juru bahasa baru setiap kali Anda membersihkan, menjamin itu benar-benar awal yang baru dalam segala hal. Eksekutif itu, berarti Anda tidak dengan banyak proses tergeletak di kemudian hari.

Domingo Ignacio Galdos
sumber