¿Cómo anular la fuente en el script de shell de Linux?

¿Cómo anular la fuente en el script de shell de Linux?

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 sourcecomo:

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.

información relacionada