Hace mucho tiempo, en Unix V6 y Thompson Shell, el :realmente se usó como parte de la gotodeclaración. Según el manual , apareció originalmente en la versión 3 de Unix:
Se busca en el archivo de comando completo una línea que comience con: como el primer carácter no en blanco, seguido de uno o más espacios en blanco y luego la etiqueta. Si se encuentra dicha línea, goto reposiciona el desplazamiento del archivo de comando a la línea después de la etiqueta y sale. Esto hace que el shell se transfiera a la línea etiquetada.
Hoy en día, en bash, se utiliza como operador sin operaciones, devolviendo el éxito. De hecho, si nos fijamos en el código fuente , verá que tanto truey :utilizar la misma función, int colon_builtin(), debajo. No hay :un comando no incorporado, y en /bin/truerealidad es un comando bastante grande para lo que hace.
:podría usarse en cualquier lugar true, por ejemplo command_that_can_fail || true, en , aunque es probable que confunda a los no expertos. Lea más sobre esto aquí .