aşağıda terminalde yürüttüğüm kod
[root@idm ~]# x="$(date +%d%m%y)"
[root@idm ~]# echo $x
270217
[root@idm ~]# echo ${#x}
6
Birisi çıktının neden olduğunu anlamama yardımcı olabilir 6mi? #Değişkene esasen ne yapıyor?
aşağıda terminalde yürüttüğüm kod
[root@idm ~]# x="$(date +%d%m%y)"
[root@idm ~]# echo $x
270217
[root@idm ~]# echo ${#x}
6
Birisi çıktının neden olduğunu anlamama yardımcı olabilir 6mi? #Değişkene esasen ne yapıyor?
Yanıtlar:
Parametrenin uzunluğunu veya bir dizideki öğe sayısını veya konumsal parametre sayısını döndüren bir parametre genişletmesidir.
Lütfen kabuğunuzun kılavuzunu okuyun. Aşağıdaki bashkılavuzdan:
${#parameter}Değerinin karakter
parametercinsinden uzunluğu ikame edilir . Eğerparameterbir*ya da@değer, konumsal parametreler sayısıdır. Eğerparameterile indislenmiş bir dizi adım,*ya da@, ikame edilmiş bir değer dizideki elementlerin sayısı. Eğerparameternegatif bir sayı ile indislenmiş dizinlenmiş bir dizi adım bu sayı çok olumsuz endeksleri geri dizinin sonundaki sayısı ve -1 referanslar son eleman bir indeks, parametresinin maksimum dizininden bir büyük göre yorumlanır .
Ve ayrıca, lütfen interaktif bir kök kabuğunda çalışma alışkanlığı edinmeyin. En iyi ihtimalle tehlikeli ve pervasız. sudoAz miktarda ve yalnızca yüksek ayrıcalıklar gerektiren durumlarda kullanın . Birlikte oynamak bash, kesinlikle sıradan olmayan bir kullanıcı olarak yapabileceğiniz bir şeydir.
Son birkaç yıldır, kendim için tek bir kullanıcıyı manuel olarak eklemek için yalnızca etkileşimli bir kök kabuk kullandım. Bu 2 dakikalık bir iş ve o makinede bir daha asla bir #istem görmem gerekmiyor .
#Operatör bir değişken uzunluğunu verir. Sizin durumunuzda değişken xuzunluk altıdır.
Daha fazla bilgi için lütfen Parametre Değiştirme'ye bakınız .