Articles of portabilidad

¿Puedo usar `type` para verificar si un nombre arbitrario es un nombre de command válido?

El type incorporado bash se puede usar para este propósito al verificar su estado de salida: Exit Status: Returns success if all of the NAMEs are found; fails if any are not found. ¿Qué tan portátil es? La especificación POSIX es un poco less clara con respecto al estado de salida de type : EXIT […]

Múltiples arguments en líneas shebang

Linux solo admite un argumento en una línea shebang: Esta: #!/bin/sh cat > pr_args <<'EOF' #!/bin/sh -e printf "'%s'\n" "$@" EOF cat > shebang <<'EOF' #!pr_args abc EOF chmod +x pr_args shebang ./shebang ABC rm shebang pr_args huellas dactilares 'abc' './shebang' 'A' 'B' 'C' ¿Hay algún Unices donde conseguiré 'a' 'b' 'c' './shebang' 'A' 'B' […]

Soporte generalizado para encontrar con "-exec … +"?

A juzgar por el logging de cambios de findutils de GNU , tenía que estar en el hallazgo de GNU durante al less una década (también más que eso era parte de POSIX), ¿se puede suponer ahora que es compatible en todas partes? Además, ¿hay alguna buena razón para abogar por xargs en los casos […]

Cómo reescribir grep call de Linux a AIX

En mi sistema Linux en fgrep estoy usando attributes -m 500 -C 0 . Pero en AIX no vi estos arguments. Entonces, ¿cómo debería volver a escribirlo? Acabo de leer para usar awk en lugar de fgrep pero no sé cómo.

¿Un `desvincular` o` cambiar el nombre` de forma portátil y atómica hará que falle un `enlace`?

Pregunta Supongamos que tengo algo que no es un directory (file, llamado pipe / socket, whatever) en el nombre de ruta /tmp/foo y algún otro que no sea directory en el nombre de ruta /tmp/bar . Luego, dos (o más) processs comienzan a ejecutarse simultáneamente: El process uno hace: unlink('/tmp/foo') /* or rename('/tmp/foo', '/tmp/removed') */ […]

¿Por qué awk print en cadenas no nulas y numbers positivos?

He notado algunos ejemplos de awk que usan 1 lugar de print para imprimir $0 (por ejemplo, para ahorrar espacio, normalmente uso '1' y en este sitio). ¿Es esta una práctica documentada / segura, o está sujeta a romperse en algunas versiones? pasado, presente o futuro? Aquí hay unos ejemplos: echo 'a-does-print-$0' | awk '"x"' […]

¿Cómo / Es posible instalar Python de manera portátil?

Estoy trabajando en una secuencia de commands python que se encarga de migrar una database mysql con un determinado esquema / estructura, en una postgresql datos postgresql con una estructura diferente. Durante la fase de desarrollo estaba trabajando dentro de una máquina virtual ( CentOS7 ) con todo mi entorno correctamente configurado. Actualmente estoy en […]

Volcado hexadecimal de un byte por línea

Supongamos que queremos un volcado hexadecimal ASCII minimalist de un byte por línea. Bajo Linux usando GNU od , esto funciona: echo foo | od -An -tx1 -w1 -v Salida: 66 6f 6f 0a Pero eso no funcionará con los derivados de BSD , porque el BSD od util tiene banderas diferentes. ¿Cuál es el […]

¿Por qué no se puede ejecutar Adobe Flash para Mac en Linux?

Como sabemos, Adobe ya no desarrolla nuevas versiones de Flash para Linux (excepto Google Chrome, lo sé). Sin embargo, desarrolla activamente Flash para Windows y Mac. Linux puede ejecutar aplicaciones nativas de Windows a través de Wine. A veces puede ser incómodo, complicado y defectuoso, pero a menudo es bastante posible. Teniendo en count que […]

Una forma común de combinar dos files en Solaris y Linux

Intento escribir un script que combine dos files en uno y debería funcionar tanto en Solaris 5.10 como en un cuadro de Linux. Archivo1: dit710 dit710 dit720 dit720 File2: FacA D0000000000000001 FacA D0000000000000002 FacA D0000000000000030 FacB D00000000000000980 Salida deseada: dit710,FacA,D0000000000000001 dit710,FacA,D0000000000000002 dit720,FacA,D0000000000000030 dit720,FacB,D00000000000000980 ¿Qué intenté? paste File1 File2 |nawk '{$1=$1}1' OFS="," (El command anterior funciona […]