Articles of shell script

Shell, concatenando 2 strings para hacer reference a una tercera variable

Estoy tratando de hacer lo siguiente en mi script: #/bin/bash -x var1=www var2=www2 var3=www3 var4=www4 for i in 1 2 3 4; do echo \$var$i done Obviamente, esto no funciona como se esperaba y da como resultado el siguiente resultado: $var1 $var2 $var3 $var4 ¿Cómo puedo hacer una reference dinámica de las variables en mi […]

¿Cómo rotar todas las imágenes en un directory con imagemgick?

Quiero rotar todas las imágenes en un directory que coincida con un patrón. Hasta ahora tengo: for file in `ls /tmp/p/DSC*.JPG`; do convert $file -rotate 90 file+'_rotated'.JPG done pero eso no da salida?

¿Por qué (echo ""; exit 1) no sale del script?

Tengo un script, que no sale cuando quiero. Un script de ejemplo con el mismo error es: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Asumiría ver la salida: :~$ ./test.sh 1 :~$ Pero realmente veo: :~$ ./test.sh 1 2 :~$ ¿El command () encadena […]

¿Cómo capturo el estado de devolución y uso la camiseta al mismo time en korn shell?

Considera el código fuente: 1. Parent.sh #!/usr/bin/ksh # No tee ksh Child.sh; exit_status=$?; echo "Exit status: ${exit_status}" # Using tee ksh Child.sh | tee -a log.txt; exit_status=$?; echo "Exit status: ${exit_status}" 2. Child.sh #!/usr/bin/ksh … exit 1; Salida: Exit status: 1 Exit status: 0 La variable $exit_status captura el estado de salida de Child.sh y […]

Reemplazar una cadena larga con el command sed: Lista de arguments error demasiado largo

Estoy tratando de ejecutar este command sed -i -e "s/BASE_64/$BASE_64/" FILE_NAME donde $BASE_64 es una representación base 64 de un contenido de file. sed me da un error ya que la cadena es demasiado larga. Lista de arguments demasiado larga ¿Cómo es posible evitar este error?

generar identificador único de máquina consistente

¿Podemos generar una identificación única para cada PC, algo así como uuuidgen, pero nunca cambiará a less que haya cambios de hardware? Estaba pensando en fusionar CPUID y MACADDR y en hash para generar un ID consistente, pero no tengo idea de cómo analizarlos usando el script bash, lo que sé es cómo puedo get […]

Almacenamiento de la salida del command en la variable de shell

Tengo una operación usando cut que me gustaría asignar resultado a una variable var4=echo ztemp.xml |cut -f1 -d '.' Me sale el error: ztemp.xml no es un command El valor de var4 nunca se asigna; Estoy tratando de asignarle la salida de: echo ztemp.xml | cut -f1 -d '.' ¿Cómo puedo hacer eso?

¿Cómo puedo detectar si el shell está controlado desde SSH?

Quiero detectar desde un script de shell (más específicamente .zshrc) si está controlado a través de SSH. Probé la variable HOST, pero siempre es el nombre de la computadora que ejecuta el shell. ¿Puedo acceder al nombre de host de donde proviene la session SSH? Comparando los dos resolvería mi problema. Cada vez que inicio […]

¿Qué es una forma rápida de command-line para cambiar entre varios directorys para la administración del sistema?

¿Qué es una forma rápida de command-line para cambiar entre varios directorys para la administración del sistema? Quiero decir, puedo usar pushd . y popd para alternar, pero ¿qué popd si quiero almacenar múltiples y pasar por ellos, en lugar de dejarlos de forma permanente en la parte inferior de la stack?

Udev: ejecuta un shellscript que accede a una pantalla X

Después de hacer funcionar mi 3g-modem en Arch Linux , quise eliminar el trabajo manual requerido en el process. Por lo tanto, necesitaba crear una regla udev. Después de un poco de testing y error, se me ocurrió la siguiente regla llamada 11-my-rule.rules que puse en /etc/udev/rules.d/ : # start at sdb to ignore the […]