Se requiere ayuda: en el contexto de los scripts de shell en un bash de GNU / LINUX:
Yo siempre uso set -e
. A menudo, me gustaría grep
y no siempre quiero que la secuencia de comandos termine la ejecución si grep
tiene un estado de salida de 1
indicación de patrón no encontrado.
Algunas cosas que he tratado de resolver este problema son las siguientes:
(Intente I)
Si set +o pipefail
e invoco grep con algo así grep 'p' | wc -l
, obtengo el comportamiento deseado hasta que un futuro mantenedor lo habilite pipefail
. Además, me gusta habilitar pipefail
para que esto no funcione para mí.
(Intente II)
Use un sed
o awk
solo patrón de coincidencia de líneas de impresión, luego wc
líneas coincidentes para probar el patrón coincidente. No me gusta esta opción porque usar sed
to grep
parece una solución para mi verdadero problema.
(Prueba III)
Este es mi menos favorito, algo como:set +e; grep 'p'; set-e
Cualquier idea / modismos sería muy apreciada, gracias.
make
ya que no siempre sale por errores. Para las discusiones POSIX relacionadas, puede consultar austingroupbugs.net