Tengo un pequeño archivo que inicializa una tmux
sesión y luego crea algunas ventanas. Después de algunas depuraciones y ajustes, las cosas funcionaron bien hasta que cambié el nombre del archivo de texto (con los tmux
comandos) de spam
a xset
:
$ source xset
bash: source: /usr/bin/xset: cannot execute binary file
Ahora he cambiado el nombre del archivo y source spam
funciona de nuevo, pero me pregunto por qué es esto. El archivo está en mi directorio de inicio, y no en /usr/bin
.
xset
. Tratarsource ./xset
.Respuestas:
la
bash
fuente del comando interno, primero busca el nombre de archivo en PATH, a menos que haya una barra (/
) en el nombre de archivo.xset
es un archivo ejecutable en su RUTA, de ahí el problema.Puede ejecutar
source ./xset
o cambiar la opción sourcepath a off con:Desde la
bash
página del manual:fuente
El
source
comando :POSIX define
.
este comportamiento (para su alias) . ¿Por qué? Bueno, puede poner scripts de configuración fuentePATH
y acceder a ellos sin una ruta calificada. Para acceder al archivo que desea, proporcione una ruta absoluta o relativa en su lugar:Todo lo anterior funcionará como esperaba inicialmente. También puede deshabilitar
sourcepath
conshopt
.fuente