Bu hemen hemen herhangi bir kabuk için kullanabileceğiniz genel bir işlemdir. Her durumda, kullanıcının normal olarak hangi kabuğu kullandığını bilmeniz gerekir:
path="$(grep $USER /etc/passwd | cut -d ':' -f 7)"
shell="$(basename -- "$path")"
O zaman bu kabuğun hangi nokta dosyalarını normalde okuyacağını bulmak zorundasınız:
man $shell
İşe yarayabilecek bir kısayol, kabuk adını içeren nokta dosyalarını listelemektir:
ls ~/.*${shell}*
Oturum açma sırasında dosyalardan birinin gerçekten okunup okunmadığını kontrol etmek istiyorsanız, her birinin dosya adını yazdırabilirsiniz, örneğin:
echo .bashrc
Giriş yaparken, hangi dosyaların okunmakta olduğunu görmelisiniz ve hangisinin değiştirileceğine karar verebilirsiniz. Kullanmamaya echo "$0"
ya da benzeri bir şey yapmamanız gerektiğine dikkat edin , çünkü $0
kabuğun değeri nokta dosyalarını nasıl işler ve yanıltıcı olabilir.
"Kalıcı" değişkeni bildirmek söz konusu olduğunda, bunun yalnızca oturuma uzandığını unutmayın. Bir değişkenin değerine bir oturum olmadan erişmenin bir yolu yoktur, bu nedenle birinin dışında bir anlamı yoktur. Eğer "salt okunur" demek istiyorsan, bu kabuk bağımlıdır ve Bash'de kullanabilirsin:
declare -r VAR
Zaten bir değeri varsa veya
declare -r VAR=value
aynı anda atamak için. Tüm kabukları bu özelliğe sahip değildir.
Çoğu kabuktaki bir değişkeni bildirmek için, bir değişken adı ( [A-Za-z_][A-Za-z0-9_]*
) kullanmalı, ardından eşit bir işaret (ve eşit işaretin etrafında boşluk olmamalıdır ), sonra bir değer (tercihen değer basit olmadığı sürece kote [A-Za-z0-9_]+
) kullanmalısınız. Örneğin:
name="John Doe"
ip=127.0.0.1
HORRIBLE=1