Articles of unix

Variables como comandos en scripts bash

Estoy escribiendo un script bash muy simple que ataca un directorio determinado, cifra el resultado de eso y luego divide el archivo resultante en varios archivos más pequeños, ya que los medios de copia de seguridad no admiten archivos enormes. No tengo mucha experiencia con bash scripting. Creo que tengo problemas para citar mis variables […]

¿Hay una biblioteca Java de funciones de Unix?

Estoy buscando una biblioteca Java para interactuar con las funciones estándar de Unix, es decir, stat() , getpwuid() , readlink() . Esto solía existir, y se llamaba javaunix . Fue lanzado en 2000. Vea este anuncio . Pero la página del proyecto ya no está. ¿Hay algún reemplazo moderno para este tipo de funciones en […]

fork () y salida

Tengo un progtwig simple: int main() { std::cout << " Hello World"; fork(); } Después de que el progtwig se ejecuta mi salida es: Hello World Hello World . ¿Por qué sucede esto en lugar de un solo Hello world ? Supongo que el proceso secundario se vuelve a ejecutar detrás de escena y que […]

Comparación de punto flotante en Shell Script

¿Puede sugerirme la syntax para hacer una comparación de punto flotante en un script de Bash? Idealmente, me gustaría utilizarlo como parte de una statement if . Aquí hay un pequeño fragmento de código: key1=”12.3″ result=”12.2″ if (( $result <= $key1 )) then # some code here fi

Bash regex = ~ operador

¿Cómo se llama el operador =~ ? ¿Se usa solo para comparar el lado derecho contra el lado izquierdo? ¿Por qué se requieren corchetes dobles al ejecutar una prueba? es decir. [[ $phrase =~ $keyword ]] Gracias

Establecer variables de entorno en Linux usando Bash

En tcsh , tengo el siguiente script funcionando: #!/bin/tcsh setenv X_ROOT /some/specified/path setenv XDB ${X_ROOT}/db setenv PATH ${X_ROOT}/bin:${PATH} xrun -d xdb1 -i $1 > $2 ¿Cuál es el equivalente a la función tcsh setenv en Bash? ¿Hay un análogo directo? Las variables de entorno son para ubicar el ejecutable.

Conciso y portátil “unirse” en la línea de comandos de Unix

¿Cómo puedo unir varias líneas en una línea, con un separador donde estaban los caracteres de la nueva línea, y evitar un separador posterior y, opcionalmente, ignorar las líneas vacías? Ejemplo. Considere un archivo de texto, foo.txt , con tres líneas: foo bar baz El resultado deseado es: foo,bar,baz El comando que estoy usando ahora: […]

¿Cómo dividir una cadena delimitada en una matriz en awk?

Cómo dividir la cadena cuando contiene símbolos de tubería | en eso. Quiero dividirlos para que estén en conjunto. Lo intenté echo “12:23:11″ | awk ‘{split($0,a,”:”); print a[3] a[2] a[1]}’ Lo cual funciona bien. Si mi cadena es como “12|23|11” , ¿cómo los divido en una matriz?

¿Por qué las comparaciones de scripts de shell a menudo usan x $ VAR = xyes?

Veo esto a menudo en las secuencias de comandos de comstackción de proyectos que usan autotools (autoconf, automake). Cuando alguien quiere verificar el valor de una variable de shell, con frecuencia utilizan este modismo: if test “x$SHELL_VAR” = “xyes”; then … ¿Cuál es la ventaja de esto simplemente al verificar el valor de esta manera? […]

Después de bifurcar, ¿se comparten las variables globales?

Considera este código simple: int myvar = 0; int main() { if (fork()>0) { myvar++; } else { // father do nothing } } Cuando child incrementa myvar, ¿se comparte el valor con el padre (como pthread)?