Ubuntu Türkiye

Yazılım => Programlama => Kabuk (sh,bash,*csh,ksh,zsh) => Konuyu başlatan: programmer - 20 Ekim 2018 - 08:24:34

Başlık: Aynı komutla hangi kabukta bulunduğumuzu saptamak nasıl olabilir?
Gönderen: programmer - 20 Ekim 2018 - 08:24:34
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.
Başlık: Ynt: Aynı komutla hangi kabukta bulunduğumuzu saptamak nasıl olabilir?
Gönderen: freeman - 20 Ekim 2018 - 11:15:05
Diğer kabukları deneme imkanım yok ama
echo $SHELLin tüm kabuklarda, kabuk yolunu vermesi gerek sanki.
Başlık: Ynt: Aynı komutla hangi kabukta bulunduğumuzu saptamak nasıl olabilir?
Gönderen: programmer - 21 Ekim 2018 - 02:26:58
$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.