
Mi equipo comparte un script de shell, quiero que sea compatible con Cygwin porque solo yo uso Windows. Ahora el problema viene de source
. Mi shell sólo acepta formatos como:
source ./<file name>
en lugar de
source <file name>
que ya está en el guión. Entonces quiero anular source
como:
source(){ . ./$@; }
Pero ahora mi caparazón se queja de que:
`source': is a special builtin
¿Qué debo hacer por ahora?
Respuesta1
De ese mensaje de error sobre una función incorporada especial (verhttp://sources.debian.net/src/bash/4.4-4/execute_cmd.c/?hl=5623#L5623), parece que estás ejecutando bash en modo POSIX. Esto podría deberse a que configuró $POSIXLY_CORRECT
, ejecutó el shell con --posix
, usó set -o posix
, etc.
Una de las muchas cosas que hace el modo POSIX (además de no permitirle anular source
) es hacer source
(y .
) no buscar en el directorio de trabajo actual si $PATH
-lookup falla.
Esto no tiene nada que ver con ejecutar Cygwin.