Bu kod ile bir kabuk komut dosyası var:
var=`hg st -R "$path"`
if [ -n "$var" ]; then
echo $var
fi
Ancak koşullu kod her zaman yürütülür, çünkü hg st
her zaman en az bir yeni satır karakteri yazdırır.
- Dan boşluk şerit basit bir yol var mı
$var
(gibitrim()
içinde PHP )?
veya
- Bu sorunla başa çıkmanın standart bir yolu var mı?
Sed veya AWK kullanabilirdim , ancak bu soruna daha zarif bir çözüm olduğunu düşünmek istiyorum.
$ var=$(echo)
$ [ -n $var ]; echo $? #undesired test return
0
$ [[ -n $var ]]; echo $?
1
echo " This is a string of char " | xargs
. Eğer Ancak metinde tek tırnağı varsa aşağıdakileri yapabilirsiniz: echo " This i's a string of char " | xargs -0
. En son xargs (4.6.0)
test=`echo`; if [ -n "$test" ]; then echo "Not empty"; fi
, ancak bu olacak test=`echo "a"`; if [ -n "$test" ]; then echo "Not empty"; fi
- bu yüzden sonunda sadece bir satırsonu olmak zorunda.
echo $A | sed -r 's/( )+//g'
;