GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Comando que sale con estado cero (no /bin/true)?

Tengo un Makefile que ejecuta una herramienta que tarda un poco; me permite reemplazar el comando utilizado:

make TOOL=alternative-tool

Me gustaría omitir ese paso en el Makefile, así que estoy buscando un comando que salga con el estado 0 y que tenga efectos secundarios insignificantes.

Obviamente, podría usar true , pero eso es un poco confuso:

make TOOL=true

Eso se lee como si quiero para ejecutar la herramienta, pero no lo hago.

¿Hay algún ejecutable instalado por defecto que no sea /bin/true? que sale con estado 0, y que tiene un nombre pegadizo y fácil de escribir?

Respuesta aceptada:

Aunque haya pedido algo que "no es /bin/true “, reemplazando true con el nombre completo /bin/true para mostrar que es el true programa en lugar de algún otro significado de "verdadero" es probablemente la mejor solución.

Su preocupación es que el true en

make TOOL=true

parece ser algo más que un nombre de comando. Pero si escribes

make TOOL=/bin/true

entonces eso es inequívocamente un comando. Alguien podría leer mal TOOL=true para significar que se pretende alguna otra herramienta en algún lugar, pero no tal lectura errónea de TOOL=/bin/true es probable.

No estoy seguro de cuándo : , que es un comando interno de shell pero no un comando externo, funcionará. Henning Makholm ha informado que parece funcionar. Pero creo que no funciona en todas las situaciones, y descubrió que no funcionó para usted.

En cuanto a un alias de shell, no puede usarlo porque la expansión de alias no se realiza en los argumentos que pasa a un comando, ni los archivos MAKE hacen uso de alias de shell definidos previamente. Incluso si make ejecuta sus comandos en un nuevo shell, ese shell no tendrá el alias (y no lo usaría incluso si lo tuviera, porque sería un shell no interactivo, donde la expansión del alias no se habilita automáticamente).


Ubuntu
  1. Ubuntu:¿/usr/bin/host no detecta cambios en/etc/hosts incluso después de reiniciar?

  2. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  3. ¿Por qué /bin/sh apunta a /bin/dash y no a /bin/bash?

  4. Marca:Dh:¿Comando no encontrado?

  5. ¿Autenticación de proxy con Terminal Ubuntu 14.04?

Comando 'make' no encontrado en Ubuntu 20.04 Focal Fossa

¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

/usr/bin Vs /usr/local/bin ¿En Linux?

Linux:¿/sbin/init no existe?

¿Por qué verdadero y falso son tan grandes?

#!/bin/sh vs #!/bin/bash para máxima portabilidad