GNU/Linux >> Belajar Linux >  >> Linux

Shell mana yang saya jalankan?

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.


Linux
  1. Cara Memeriksa Versi Postgres Yang Sedang Berjalan/Diinstal

  2. Shell mana yang saya gunakan?

  3. Shell Mana yang Harus Saya Gunakan – Tcsh Vs Bash??

  1. Shell - Bagaimana menemukan direktori dari beberapa perintah?

  2. Edit skrip shell saat sedang berjalan

  3. Bagaimana saya tahu jika saya menjalankan shell bersarang?

  1. Menjalankan skrip shell secara paralel

  2. Cara memeriksa apakah shell yang sedang berjalan adalah BusyBox

  3. Tentukan tamu mana yang berjalan di XEN:tamu HVM atau PV