Hay dos sintaxis para la sustitución de comandos: con paréntesis en dólares y con comillas invertidas. Ejecutando top -p $(pidof init)y top -p `pidof init`da la misma salida. ¿Son estas dos formas de hacer lo mismo o hay
Preguntas sobre la sustitución de comandos de shell (como $ (comando) o `comando`), su mecanismo, sintaxis correcta, etc. No debe confundirse con alias.
Hay dos sintaxis para la sustitución de comandos: con paréntesis en dólares y con comillas invertidas. Ejecutando top -p $(pidof init)y top -p `pidof init`da la misma salida. ¿Son estas dos formas de hacer lo mismo o hay
En mi entorno Bash, uso variables que contienen espacios, y uso estas variables dentro de la sustitución de comandos. Lamentablemente no puedo encontrar la respuesta en SE. ¿Cuál es la forma correcta de citar mis variables? ¿Y cómo debo hacerlo si están anidados? DIRNAME=$(dirname "$FILE") o...
Tengo un comando que envía datos a stdout ( command1 -p=aaa -v=bbb -i=4). La línea de salida puede tener el siguiente valor: rate (10%) - name: value - 10Kbps Quiero grep esa salida para almacenar esa 'tasa' (supongo que la tubería será útil aquí). Y finalmente, me gustaría que esa tasa sea un...
Quiero crear un archivo de registro para un script cron que tenga la hora actual en el nombre del archivo de registro. Este es el comando que intenté usar: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log Lamentablemente recibo este mensaje cuando se ejecuta: /bin/sh: -c:...
#!/bin/bash function0() { local t1=$(exit 1) echo $t1 } function0 echoImprime el valor vacío. Esperaba: 1 ¿Por qué a la t1variable no se le asigna el valor de retorno del comando de salida
Estoy probando el comando $ b=5; echo `$b`; -bash: 5: command not found pero no imprime 5 como se supone que debe hacerlo. ¿Que me estoy perdiendo aqui? ¿Qué significa `(backquote / backtick) en los comandos? parece decir que `evalúa los comandos dentro y los reemplaza con la...
Sé que puedo resolver este problema de varias maneras, pero me pregunto si hay una manera de hacerlo usando solo las funciones integradas de bash, y si no, cuál es la forma más eficiente de hacerlo. Tengo un archivo con contenido como AAA B C DDD FOO BAR con lo cual solo quiero decir que tiene...
Según el siguiente ejemplo, y como en mi pregunta reciente En bash, ¿a dónde se ha ido el char de Newline? , Quiero saber "por qué" sucede x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a62 # The trailing newline from the 'echo' command # has been "deleted" by Command...
Esta pregunta se migró de Server Fault porque se puede responder en Unix & Linux Stack Exchange. Migrado hace 2 años . Un método de instalación fácil para Docker (por ejemplo) es este: curl -sSL https://get.docker.com/ | sh Sin embargo, también he visto algunos que...
Considera este script: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" El script no continúa más allá de su llave de cierre hasta que finaliza el proceso del bloc de notas, aunque sea un proceso en segundo plano. ¿Por qué es esto? ¿Es posible iniciar un...
Una respuesta de StackOverflow con> 3.5K votos presenta esta línea para asignar al DIRdirectorio del script bash actual: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Estoy desconcertado por las comillas dobles anidadas. Por lo que puedo decir, los siguientes fragmentos están...
En esta pregunta, alguien informa un problema al usar un documento aquí con una palabra delimitadora citada dentro de la $(...)sustitución de comando , donde una barra invertida \al final de una línea dentro del documento desencadena la continuación de la línea de unión de nueva línea , mientras...
for k in {0..49}; do a=$(($((2*$k))+1)); echo $a; done Hola, necesito una expresión simplificada para la tercera línea, tal vez una que no use la sustitución de
Ya es hora de resolver este enigma que me ha estado molestando durante años ... Me he encontrado con esto de vez en cuando y pensé que este es el camino a seguir: $(comm "$(arg)") Y pensé que mi punto de vista estaba fuertemente respaldado por la experiencia. Pero ya no estoy tan seguro....
Estoy tratando de invocar un script con una lista de nombres de archivos recopilados por find. Nada especial, solo algo así: $ myscript `find . -name something.txt` El problema es que algunos de los nombres de ruta contienen espacios, por lo que se dividen en dos nombres no válidos en la...
Tengo entendido que la $(...)sintaxis de sustitución de comandos más moderna se prefiere a la `sintaxis antigua , debido a una sintaxis de anidamiento y escape más fácil y menos propensa a errores. Además, parece que la mayoría de /bin/shlas conchas de estilo moderno admiten el uso...
Responder esta pregunta me hizo hacer otra pregunta: pensé que los siguientes scripts hacen lo mismo y el segundo debería ser mucho más rápido, porque el primero usa cateso para abrir el archivo una y otra vez, pero el segundo solo abre el archivo una vez y luego solo hace eco de una...
El siguiente código describe mejor la situación. ¿Por qué la última línea no emite el carácter de línea nueva final? La salida de cada línea se muestra en el comentario. Estoy usando GNU bash, versión 4.1.5 echo -n $'a\nb\n' | xxd -p # 610a620a x=$'a\nb\n' ; echo -n "$x" | xxd -p # 610a620a...
Estoy tratando de ejecutar grep contra una lista de unos cientos de archivos: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php Sin embargo, aunque estoy buscando una cadena que sé que se encuentra en los archivos, lo siguiente no busca los archivos: $ grep -i 'foo'...
De acuerdo con este manual de referencia : -E (también -o errtrace) Si se establece, cualquier trampa en ERR es heredada por las funciones de shell, las sustituciones de comandos y los comandos ejecutados en un entorno de subshell. La trampa ERR normalmente no se hereda en tales casos. Sin...