Preguntas etiquetadas con shell

27
Verificar la longitud de una variable

Tengo que verificar la longitud de la lectura variable (mi script limita a cinco los caracteres insertados), pienso en algo como esto: #!/bin/bash read string check=${#string} echo $check if [ $check -ge 5 ]; then echo "error" ; exit else echo "done" fi ¿Hay una solución más...

27
Diferencia entre 'ls' y 'echo $ (ls)'

Considere las dos muestras de concha $ ls myDoc.html SomeDirectory someDoc.txt y $ echo $(ls) myDoc.html SomeDirectory someDoc.txt El primero se ejecuta lsy, según tengo entendido, agrega el contenido del directorio de trabajo actual al stdoutarchivo (que es lo que muestra el terminal). ¿Es...

27
¿Cómo puedo cronometrar una tubería?

Quiero timeun comando que consta de dos comandos separados con una salida de tubería a otra. Por ejemplo, considere los dos scripts a continuación: $ cat foo.sh #!/bin/sh sleep 4 $ cat bar.sh #!/bin/sh sleep 2 Ahora, ¿cómo puedo timeinformar el tiempo que lleva foo.sh | bar.sh(y sí, sé que la...

27
¿Cómo ejecutar comandos de biblioteca desde el shell?

Simplemente quería calcular la longitud de una cadena (que es el valor hash). Entonces, abrí la terminal e hice esto: $ apropos length eso me devolvió con un montón de comandos / funciones que tienen (3)o (3ssl)anexados al final de ellos. Ahora hombre hombre nos da información sobre lo que...

26
ejecutando script con ". "Y con" fuente "

Me preguntaba si las siguientes dos formas de ejecutar un script bash son equivalentes. . ./myScript.sh source myScript.sh ¿Ambos ejecutan el contenido del script en lugar de ejecutar el script, es decir, no crean una subshell para ejecutar el

26
Cómo agregar variables aritméticas en un script

Quiero acumular el tamaño de línea de varios archivos contenidos en una carpeta. He escrito el siguiente script: let a=0 let num=0 for i in folder/* do num=`cat $i | wc -l` a=$a+$num done echo $a Lo que obtengo al final del script es 123 + 234 + 432 + ... y no el resultado de la operación...

26
¿Por qué necesito citar variables para if, pero no para echo?

He leído que necesita comillas dobles para expandir variables, por ejemplo if [ -n "$test" ]; then echo '$test ok'; else echo '$test null'; fi funcionará como se esperaba, mientras if [ -n $test ]; then echo '$test ok'; else echo '$test null'; fi siempre dirá $test okincluso si $testes...