GNU/Linux >> Tutoriales Linux >  >> Linux

Comando fuente no encontrado

Muchas veces, cuando estamos trabajando en Linux, nos hemos encontrado con un error bastante común con respecto a la fuente. Este error es source:command not found, y hoy te vamos a explicar todo lo que necesitas saber al respecto.

En este artículo, aprenderá qué es la fuente, por qué ocurre este error y, por supuesto, también aprenderá cómo resolverlo, por lo que si obtiene el comando de fuente de error que no se encuentra en su sistema Linux, siga leyendo.

En primer lugar, ¿cuál es exactamente el comando fuente? Es importante señalar que la fuente no es un paquete de software Linux real , no es un programa adecuado como, por ejemplo, du, egrep, find, etc. Source es un comando incorporado , es parte del paquete de software bash .

Para entender lo que hace, primero, necesitamos saber qué variables de shell y variables de entorno hay en Linux. Cada vez que abrimos una nueva sesión SSH en un sistema Linux, el shell carga automáticamente algunas variables predeterminadas. Estas variables están bien para la mayoría de las tareas, pero para otras, es posible que necesitemos hacer algunos cambios, y ahí es donde el comando fuente entra en escena.

Si queremos cambiar algunas variables para, por ejemplo, ejecutar un script, entonces la mejor manera de hacerlo es usar fuente. La mayoría de las veces, cuando ejecutamos un script en Linux, se ejecutará en un subshell y, por lo tanto, no se ejecutará en el mismo entorno que nuestra sesión de shell actual. Bueno, la fuente resolverá eso para usar si necesitamos usar algunas variables personalizadas.

Primero, necesitaremos definir una variable en nuestro entorno de shell actual. Una vez hecho esto, podemos usar fuente para alterar el entorno del script que ejecutamos y convertirlo en nuestro entorno actual, lo que hará que la nueva variable esté disponible para el script que estamos ejecutando.

Esto puede ser muy útil en algunas situaciones, podemos hacer aún más con la fuente, aunque ese no es el objetivo de este artículo. Por lo tanto, si hacemos algo mal mientras usamos la fuente, es posible que obtengamos errores, y uno de ellos será Comando de fuente no encontrado, por supuesto, así que veamos qué causa este error.

Causas del comando Fuente no encontrado

Normalmente obtendremos este error como "fuente:comando no encontrado" o, si estamos usando sudo, como "sudo:fuente:comando no encontrado", en ambos casos el problema es que la sesión de shell está esperando que ejecutemos un programa , pero recuerda que la fuente no es un programa , en realidad estamos ejecutando un bash incorporado como se explicó anteriormente.

Dado que la terminal piensa que estamos intentando ejecutar un programa llamado "fuente", arrojará el error de no encontrado.

Este error también ocurre si intentamos ejecutar un programa que no está instalado en nuestro sistema, por ejemplo, si intentamos ejecutar algo que no existe, como “algoalgo”, obtenemos el mismo error:

[[email protected] ~]$ somethingsomething
bash: somethingsomething: command not found

Entonces, ¿cómo podemos resolver esto entonces? Eso es lo que vamos a explicar ahora.

¿Cómo puedo corregir el error de comando fuente no encontrado en Linux?

La forma mejor y más fácil de resolver este problema es ejecutar el comando usando root en su lugar , por lo que necesitaremos iniciar una sesión raíz usando su o sudo -s . Si obtiene un error de autenticación o un error de permisos, significa que no puede iniciar sesión como root con su usuario actual, solicite a la persona a cargo que cambie los privilegios para que pueda iniciar sesión temporalmente como root para resolver el problema.

Una vez que haya iniciado sesión como raíz, intente ejecutar el comando que devolvió el error de origen antes:debería funcionar bien esta vez.

Otra forma de solucionar esto es forzar el uso de bash . En algunas distribuciones de Linux, la fuente integrada no está disponible de forma predeterminada porque el comando sh no llama a bash, sino a otros programas como "dash", por ejemplo. Entonces, en este caso, podemos editar el script que estamos tratando de ejecutar y cambiar /bin/sh en la parte superior a /bin/bash, así:

#!/bin/bash

Una tercera solución, aunque no siempre funciona, es usar un punto en lugar de fuente . Sí, funciona de la misma manera, por lo que si estamos ejecutando un script como este:

source ./myshinyscript

Tendremos que reemplazar la fuente con un punto. Sí, un punto:

. ./myshinyscript

Es muy importante dejar un espacio entre los dos puntos, como en el ejemplo.

Conclusión

Así que eso fue bastante simple como viste. El verdadero problema con el error de comando fuente no encontrado es entender por qué sucede, y ahora sabe que sucede porque la sesión de shell está confundiendo la fuente con un programa cuando en realidad es un Bash integrado.

Una vez que entendemos eso, resolver el problema es fácil, de hecho, le hemos dado tres soluciones que puede probar, que son ejecutar el script como root, modificar el script para obligarlo a ejecutar bash o usar un punto en lugar de fuente en la línea de comando.

Comando fuente no encontrado fue modificada por última vez:9 de abril de 2020 por Esteban Borges
Linux
  1. administrador de suscripciones:comando no encontrado

  2. dnf:comando no encontrado

  3. bc:comando no encontrado

  4. dpkg:comando no encontrado

  5. id:comando no encontrado

nc:comando no encontrado

aws-shell:comando no encontrado

rm:comando no encontrado

mv:comando no encontrado

ln:comando no encontrado

Comando fuente no encontrado