Ketika saya menjalankan echo $SHELL
outputnya mengatakan /bin/tcsh
yang berarti saya menjalankan tcsh
shell.
Tapi misalnya ketika saya mengeluarkan perintah berikut
alias emacs 'emacs -nw'
Saya mendapatkan kesalahan berikut:
bash: alias: emacs: not found
bash: alias: emacs -nw: not found
dan ketika saya mengeluarkan alias emacs="emacs -nw"
itu berjalan dengan baik!
Ini membingungkan karena saya menjalankan tcsh
tetapi perintah tersebut ditafsirkan oleh bash
.
Apa alasannya?
Jawaban yang Diterima:
$SHELL
belum tentu shell Anda saat ini, ini adalah shell login default. Untuk memeriksa shell yang Anda gunakan, coba
ps $$
Ini harus bekerja pada Unix/Linux terbaru dengan ps
yang mendukung sintaks BSD. Jika tidak, ini adalah cara portabel (POSIX)
ps -p $$
Itu akan mengembalikan sesuatu seperti ini jika Anda menjalankan tcsh
:
8773 pts/10 00:00:00 tcsh
Jika Anda ingin memiliki tcsh
jadilah shell default Anda, gunakan chsh
untuk mengaturnya.