Eu tenho um script de shell com este código:
var=`hg st -R "$path"`
if [ -n "$var" ]; then
echo $var
fi
Mas o código condicional sempre é executado, porque hg st
sempre imprime pelo menos um caractere de nova linha.
- Existe uma maneira simples de remover o espaço em branco
$var
(comotrim()
no PHP )?
ou
- Existe uma maneira padrão de lidar com esse problema?
Eu poderia usar sed ou AWK , mas gostaria de pensar que há uma solução mais elegante para esse problema.
$ var=$(echo)
$ [ -n $var ]; echo $? #undesired test return
0
$ [[ -n $var ]]; echo $?
1
echo " This is a string of char " | xargs
. Se você no entanto, ter uma única citação no texto que você pode fazer o seguinte: echo " This i's a string of char " | xargs -0
. Note que eu menciono mais recente de xargs (4.6.0)
test=`echo`; if [ -n "$test" ]; then echo "Not empty"; fi
, no entanto, será test=`echo "a"`; if [ -n "$test" ]; then echo "Not empty"; fi
- portanto, deve haver mais do que apenas uma nova linha no final.
echo $A | sed -r 's/( )+//g'
;