Articles of bash

Orden de i / o de redirección de Shell

Estoy jugando con la redirección de i / o shell. Los comandos que he probado (en bash): ls -al *.xyz 2>&1 1> files.lst y ls -al *.xyz 1> files.lst 2>&1 No hay ningún archivo *.xyz en la carpeta actual. Estos comandos me dan los diferentes resultados. El primer comando muestra un mensaje de error ls: […]

Expresiones regulares en una statement de caso Bash

Estoy usando la siguiente secuencia de comandos, que usa la statement de casos para encontrar el servidor. #!/bin/bash SERVER=$1; echo $SERVER | egrep “ws-[0-9]+\.host\.com”; case $SERVER in ws-[0-9]+\.host\.com) echo “Web Server” ;; db-[0-9]+\.host\.com) echo “DB server” ;; bk-[0-9]+\.host\.com) echo “Backup server” ;; *)echo “Unknown server” ;; esac Pero no está funcionando. Regex está trabajando con […]

¿Cómo puedo averiguar el tipo de archivo MIME (Content-Type)?

¿Hay alguna manera de descubrir el tipo MIME (o se llama “Content-Type”?) De un archivo en un script bash de Linux. La razón por la que lo necesito es porque ImageShack parece necesitarlo para cargar un archivo, ya que por algún motivo detecta el archivo .png como un archivo application/octet-stream . Revisé el archivo, y […]

Toma la n-ésima columna en un archivo de texto

Tengo un archivo de texto: 1 Q0 1657 1 19.6117 Exp 1 Q0 1410 2 18.8302 Exp 2 Q0 3078 1 18.6695 Exp 2 Q0 2434 2 14.0508 Exp 2 Q0 3129 3 13.5495 Exp Quiero tomar la segunda y la cuarta palabra de cada línea como esta: 1657 19.6117 1410 18.8302 3078 18.6695 2434 […]

Forma correcta de verificar la versión de Java desde el script de BASH

¿Cómo puedo verificar si Java está disponible (en PATH o vía JAVA_HOME) desde un script bash y me aseguro de que la versión sea al menos 1.5?

Comandos bash multilínea en archivo MAKE

Tengo una manera muy cómoda de comstackr mi proyecto a través de algunas líneas de comandos bash. Pero ahora necesito comstackrlo a través de makefile. Teniendo en cuenta que cada comando se ejecuta en su propio shell, mi pregunta es ¿cuál es la mejor forma de ejecutar el comando bash de varias líneas, depende de […]

Validación de nombre de dominio completamente calificado

¿Hay alguna manera rápida y sucia de validar si se ingresó el FQDN correcto? Tenga en cuenta que no hay servidor DNS ni conexión a Internet, por lo que la validación debe hacerse a través de regex / awk / sed. ¿Algunas ideas?

¿Cuándo se requieren corchetes en una statement Bash if?

Por lo general, uso corchetes en la statement if: if [ “$name” = ‘Bob’ ]; then … Pero, cuando compruebo si grep tuvo éxito, no uso los corchetes: if grep -q “$text” $file ; then … ¿Cuándo son necesarios los corchetes en la statement if ?

¿Cómo ignorar los comandos xargs si la entrada stdin está vacía?

Considera este comando: ls /mydir/*.txt | xargs chown root La intención es cambiar los propietarios de todos los archivos de texto en mydir para mydir El problema es que si no hay archivos .txt en mydir , xargs genera un error que indica que no hay una ruta especificada. Este es un ejemplo inofensivo porque […]

Bash y nombres de archivo con espacios

La siguiente es una línea de comando Bash simple: grep -li ‘regex’ “filename with spaces” “filename” No hay problemas. También lo siguiente funciona bien: grep -li ‘regex’ $(<listOfFiles.txt) donde listOfFiles.txt contiene una lista de nombres de archivos para grepped, un nombre de archivo por línea. El problema ocurre cuando listOfFiles.txt contiene nombres de archivos con […]