Aynı komutla hangi kabukta bulunduğumuzu saptamak nasıl olabilir?

Başlatan programmer, 20 Ekim 2018 - 08:24:34

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

programmer

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.

freeman

Diğer kabukları deneme imkanım yok ama
echo $SHELLin tüm kabuklarda, kabuk yolunu vermesi gerek sanki.
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.

programmer

$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.