Preguntas etiquetadas con bash

8
Forma correcta de distribuir scripts de shell

¿Cuál es la forma más adecuada de distribuir los scripts de shell si los comportamientos de los shells pueden modificarse sety, por lo tanto, son impredecibles? Por ejemplo, rm *.txtno se ejecutaría como se esperaba en los entornos en los que set -fse ha ejecutado. ¿Cómo debo asegurarme de que rm...

8
Asignación variable fuera de la declaración del caso

En muchos idiomas es posible asignar el resultado de una declaración de caso / cambio a una variable, en lugar de repetir la asignación de variable muchas veces dentro de la declaración de caso. ¿Es posible hacer algo así en el shell Bash? color_code=$(case "$COLOR" in (red) 1;; (yellow) 2;;...

8
¿Cómo ejecuta bash un archivo ELF?

Cuando estoy en mi Linux Box, uso bash como shell. Ahora me preguntaba cómo bash maneja la ejecución de un archivo ELF, es decir cuando escribo ./program y el programa es un archivo ELF. Apreté el bash-4.3.tar.gz, no parece haber algún tipo de analizador de números mágicos para averiguar si el...

8
Canalizar / redirigir un grupo de comandos

Actualmente uso la siguiente configuración para redirigir la salida de múltiples comandos: echo "Some normal commands" ( echo "Error: something happened" echo "Warning: this incident will be logged" ) >> logfile echo "More normal commands" Esto es bastante útil, y también funciona con...

8
Cambiar mayúsculas y minúsculas en una cadena

Quiero cambiar el caso de la letra n-ésima de una cadena en BASH(o cualquier otra herramienta de * nix, por ejemplo sed, awk, tr, etc.). Sé que puedes cambiar el caso de una cadena completa usando: ${str,,} # to lowercase ${str^^} # to uppercase ¿Es posible cambiar el caso de la tercera letra de...

8
Estructura de carpeta de aplanamiento

Tengo esta estructura de carpetas: ├── foo1 │   ├── bar1.txt │   └── bar2.txt ├── foo2 │   ├── bar3.txt │   └── bar4 with a space.txt └── foo3 └── qux1 ├── bar5.txt └── bar6.txt que me gustaría aplanar en esto, con un guión bajo entre cada nivel de carpeta: ├── foo1_bar1.txt ├──...