Ho uno script di shell con questo codice:
var=`hg st -R "$path"`
if [ -n "$var" ]; then
echo $var
fi
Ma il codice condizionale viene sempre eseguito, perché hg ststampa sempre almeno un carattere di nuova riga.
- C'è un modo semplice per eliminare gli spazi bianchi
$var(cometrim()in PHP )?
o
- Esiste un modo standard di affrontare questo problema?
Potrei usare sed o AWK , ma mi piacerebbe pensare che ci sia una soluzione più elegante a questo problema.
$ var=$(echo) $ [ -n $var ]; echo $? #undesired test return 0 $ [[ -n $var ]]; echo $? 1
echo " This is a string of char " | xargs. Se invece avete una sola citazione nel testo è possibile effettuare le seguenti operazioni: echo " This i's a string of char " | xargs -0. Nota che menziono l'ultimo di xargs (4.6.0)
test=`echo`; if [ -n "$test" ]; then echo "Not empty"; fi, questo comunque lo farà test=`echo "a"`; if [ -n "$test" ]; then echo "Not empty"; fi- quindi alla fine ci deve essere più di una semplice riga.
echo $A | sed -r 's/( )+//g';