Bagaimana cara mengatur apa yang harus terjadi di terminal pada perintah tertentu?

0

Jika saya mengeksekusi

kal 2013

di terminal, itu menggemakan kalender untuk tahun 2013. Demi kesenangan, saya ingin terminal bergema

Tahun ini tidak akan datang.

Bagaimana saya harus melakukan ini? Saya mencoba menambahkannya sebagai alias ke .bashrc, tetapi saya tidak dapat membuat alias dengan spasi.
Ada ide?

EDIT:

Solusi terakhir:

echo "cal() { if [[ \$@ > \"2012\" ]]; then command echo \"This year won't come.\"; else command cal \"\$@\"; fi; }" >> ~/.profile && source ~/.profile
Richard Rodriguez
sumber
Lampirkan definisi fungsi dalam tanda kutip tunggal ( echo 'cal() {...}' ) dan Anda dapat menyingkirkan semua backquote.
glenn jackman

Jawaban:

3

Tempel fungsi di .profile atau .bash_profile Anda

Perhatikan itu adalah fungsi, bukan skrip shell. Anda juga bisa menempelkannya ke prompt shell Anda. Menempatkannya di profil memungkinkan sesi login berikutnya untuk mendapatkan fungsi yang ditetapkan.

Seth Robertson
sumber
Satu masalah, ketika saya me-restart terminal, tidak berfungsi lagi, saya perlu melakukan "source .profile" lagi. Ada ide bagaimana membuatnya permanen?
Richard Rodriguez
RiMMER: Hmm. Terminal Anda tidak boleh memberi Anda shell login, yang agak aneh. Anda dapat memasukkannya ke dalam .bashrc, yang akan digunakan untuk semua shell interaktif
Seth Robertson