Articles of bash

Cómo eliminar archivos anteriores a X horas

Estoy escribiendo un script bash que necesita borrar archivos viejos. Actualmente se implementa utilizando: find $LOCATION -name $REQUIRED_FILES -type f -mtime +1 -delete Esto eliminará los archivos anteriores a 1 día. Sin embargo, ¿qué sucede si necesito una resolución más fina que 1 día, digamos que 6 horas? ¿Hay alguna manera limpia de hacerlo, como […]

¿Cómo puedo escapar del espacio en blanco en una lista de bucles bash?

Tengo un script bash shell que recorre todos los directorios secundarios (pero no archivos) de un directorio determinado. El problema es que algunos de los nombres de directorio contienen espacios. Aquí están los contenidos de mi directorio de prueba: $ls -F test Baltimore/ Cherry Hill/ Edison/ New York City/ Philadelphia/ cities.txt Y el código que […]

Bash: ¿Qué tan bueno es incluir otros scripts?

La forma en que normalmente incluirías un script es con “fuente” p.ej: main.sh: #!/bin/bash source incl.sh echo “The main script” incl.sh: echo “The included script” El resultado de ejecutar “./main.sh” es: The included script The main script … Ahora, si intenta ejecutar ese script de shell desde otra ubicación, no puede encontrar el include a […]

¿Cómo se representan múltiples condiciones en una instrucción shell if?

Quiero representar varias condiciones como esta: if [ ( $g -eq 1 -a “$c” = “123” ) -o ( $g -eq 2 -a “$c” = “456” ) ] then echo abc; else echo efg; fi pero cuando ejecuto el script, muestra syntax error at line 15: `[‘ unexpected, donde la línea 15 es la que […]

¿Cómo obtener la cantidad de CPU / núcleos en Linux desde la línea de comando?

Tengo este script, pero no sé cómo obtener el último elemento en la impresión: cat /proc/cpuinfo | awk ‘/^processor/{print $3}’ El último elemento debería ser la cantidad de CPU, menos 1.

Comprobando el estado de salida Bash de varios comandos de manera eficiente

¿Hay algo similar a pipefail para múltiples comandos, como una instrucción ‘try’ pero dentro de bash. Me gustaría hacer algo como esto: echo “trying stuff” try { command1 command2 command3 } Y en cualquier punto, si falla algún comando, abandone y repita el error de ese comando. No quiero tener que hacer algo como: command1 […]

¿Abortar un script de shell si algún comando devuelve un valor distinto de cero?

Tengo un script de shell Bash que invoca una cantidad de comandos. Me gustaría que el script de shell salga automáticamente con un valor de retorno de 1 si alguno de los comandos devuelve un valor distinto de cero. ¿Es esto posible sin verificar explícitamente el resultado de cada comando? p.ej dosomething1 if [[ $? […]

¿Cómo ejecuto un script de shell sin usar los comandos “sh” o “bash”?

Tengo un script de shell que quiero ejecutar sin usar los comandos “sh” o “bash“. Por ejemplo: En lugar de: sh script.sh Quiero usar: script.sh ¿Cómo puedo hacer esto? PD (i) No uso demasiado el script de shell e intenté leer acerca de los alias, pero no entendí cómo usarlos. (ii) También leí acerca de […]

Establecer una variable de entorno antes de que un comando en bash no funcione para el segundo comando en una tubería

En un shell dado, normalmente establecía una variable o variables y luego ejecutaba un comando. Recientemente aprendí sobre el concepto de anteponer una definición variable a un comando: FOO=bar somecommand someargs Esto funciona … más o menos. No funciona cuando está cambiando una variable LC_ * (que parece afectar el comando pero NO sus argumentos, […]

Operador ternario (? :) en Bash

¿Hay alguna manera de hacer algo como esto? int a = (b == 5) ? c : d; usando Bash?