Malum bir çok kabuk (shell) var. bash, csh, tsh, ksh, zsh. Öyle bir komut bulalım ki, bütün kabuklarda hatasız çalışsın ve çıktı olarak sadece kabuğun kısa adını (bash, csh gibi) yazsın.
echo $0
ile öğrebiliyoruz ama csh'da bu komut çalışmıyor.
sed -n '2p' <<< (ps -p <<< $echo $$ -o command)
Bu komutta bash, zs'da çalışıyor. csh'da hata veriyor.
Diğer kabukları deneme imkanım yok ama
echo $SHELL
in tüm kabuklarda, kabuk yolunu vermesi gerek sanki.
$SHELL çevre değişkeni varsayılan kabuğun tam yolunu verir. Mesala bash'da tcsh
yazıp tcsh kabuğuna girdikten sonra echo $SHELL
yazarsanız /bin/bash
yanıtı gelir.
Bu arada kabukları yüklemek için
sudo apt install csh tcsh ksh zsh
Küçük paketler, fazla yer tutmazlar.