Tengo un script de shell con este código:
var=`hg st -R "$path"`
if [ -n "$var" ]; then
echo $var
fi
Pero el código condicional siempre se ejecuta, porque hg stsiempre imprime al menos un carácter de nueva línea.
- ¿Hay una manera simple de eliminar espacios en blanco
$var(comotrim()en PHP )?
o
- ¿Existe una forma estándar de tratar este problema?
Podría usar sed o AWK , pero me gustaría pensar que hay una solución más elegante para este problema.
$ var=$(echo) $ [ -n $var ]; echo $? #undesired test return 0 $ [[ -n $var ]]; echo $? 1
echo " This is a string of char " | xargs. Si por el contrario tiene una comilla simple en el texto se puede hacer lo siguiente: echo " This i's a string of char " | xargs -0. Tenga en cuenta que menciono el último de xargs (4.6.0)
test=`echo`; if [ -n "$test" ]; then echo "Not empty"; fi, sin embargo, esto lo hará test=`echo "a"`; if [ -n "$test" ]; then echo "Not empty"; fi, por lo que debe haber más que una nueva línea al final.
echo $A | sed -r 's/( )+//g';