Preguntas etiquetadas con bash

8
¿Diferencia entre [[$ variable]] y [[-n $ variable]]?

En bash, ¿son [[ $variable ]]y [[ -n $variable ]]completamente equivalentes? Parece ser el caso a juzgar por el resultado a continuación, pero veo que ambas formas de uso prevalecen en los scripts de shell. $ z="abra" $ [[ $z ]] $ echo $? 0 $ [[ -n $z ]] $ echo $? 0 $ z="" $ [[ $z ]] $ echo $? 1 $...

8
redireccionar y registrar la salida del script

Estoy tratando de ordenar los siguientes fragmentos, los objetivos de diseño son registrar toda la salida de un script y no debería ser un contenedor. Menos líneas son mejores. No me importan las entradas del usuario (en esta etapa), los scripts de destino se ejecutan de forma no interactiva. El...

8
leer -a matriz -d '\ n' <foo, código de salida 1

Si trato de ejecutar read -a fooArr -d '\n' < bar el código de salida es 1, a pesar de que logra lo que yo quiero; pon cada línea de baren un elemento de la matriz fooArr(usando bash 4.2.37). ¿Alguien puede explicar por qué sucede esto? He encontrado otras formas de resolver esto, como...

8
Optimizar un bucle `while`

He creado un mini script para reiniciar mi Raspberry Pi con solo presionar un botón. La secuencia de comandos simplemente usa cableadoPi (comando gpio) para establecer el pin 0 (pin 17 en el orden de numeración estándar de Raspberry Pi) para ingresar, y luego lee el valor hasta que sea uno (es...

8
Cómo cambiar el aviso de subshell

Estoy tratando de crear un script simple que, entre otras cosas, creará una subshell: #!/bin/sh # setup "${@:-$SHELL}" # teardown La pregunta es: necesito cambiar la solicitud predeterminada, por ejemplo: $ # shell predeterminado $ ./myscript (myscript) $ # subshell (myscript) $...

8
Bash globbing y argumento pasando

Tengo el siguiente script bash simplificado #!/bin/bash files=("$@") if [ "X$files" = "X" ]; then files=$HOME/print/*.pdf; fi for file in "${files[@]}"; do ls "$file"; done Si paso argumentos (nombres de archivo) como parámetros, este script imprimirá los nombres de archivo adecuados. Por...