Ben şu satırları bir kabuk var if [ -z "$xyz" ]ve if [ -n "$abc" ], ama onların amacı ne olduğundan emin değilim. Birisi lütfen açıklayabilir mi?
Ben şu satırları bir kabuk var if [ -z "$xyz" ]ve if [ -n "$abc" ], ama onların amacı ne olduğundan emin değilim. Birisi lütfen açıklayabilir mi?
Yanıtlar:
Bash operatörleri için çok güzel bir referans burada bulabilirsiniz . Farklı bir kabuk kullanıyorsanız, sadece arayın <my shell> operatorsve ihtiyacınız olan her şeyi bulacaksınız. Özel bir durumda, kullanıyorsunuz:
-n
string is not null.
-z
string is null, that is, has zero length
Göstermek için:
$ foo="bar";
$ [ -n "$foo" ] && echo "foo is not null"
foo is not null
$ [ -z "$foo" ] && echo "foo is null"
$ foo="";
$ [ -n "$foo" ] && echo "foo is not null"
$ [ -z "$foo" ] && echo "foo is null"
foo is null
man testveya man [size komutu test etmek için tüm seçenekleri verecektir. Bu durumda, -n, $ abc içeriğinin sıfır olmayan bir uzunluğa sahip olup olmadığını görmek için test eder ve -z, $ xyz içeriğinin sıfır uzunluklu bir dize olup olmadığını görmek için test eder.
man test(her zaman?) Harici program sürümü için man sayfası verir; (en azından GNU-coreutils sürümü için), bazı (çoğu IME) merminin farklı olabilecek yerleşik bir sürümüne sahip olduğu konusunda açıkça uyarır.