Tengo un script en mi máquina virtual que me gustaría ejecutar sin él.[]$ ./myscript
[studentuser@CentosStudentSvr ~]$ myscript
-bash: iduser: comando no encontrado
de lo contrario se produce un error:
-bash: iduser: command not found
¿Cómo puedo arreglarlo?
Gracias
Respuesta1
Si escribe myscript
, su shell buscará en su RUTA para ver si puede encontrar el comando llamado myscript
. A diferencia de Windows, su directorio actual no está en su ruta de forma predeterminada.
Lo que significa que quieres:
- agrégalo a tu ruta por ahora (munualmente)
- agréguelo a su ruta cada vez que inicie (edite el script de inicio en su carpeta. Cuáles dependen del shell que use. A menudo, .profile o .bashsomething)
- O especifique la ruta completa al binario. Por ejemplo
./iduser
o/home/user229525/iduser
.
Si el directorio actual ( .
) ya está en su ruta, verifique su programa.
- ¿Es ejecutable? (ls -l, busca el
x
en rwx) - Si es un guión, ¿comienza con un tinglado? (por ejemplo, es la primera línea
#!/usr/bin/env bash
).
Respuesta2
Bash busca los "comandos" en las rutas enumeradas en la variable $PATH. Mueva el script a la /usr/bin
carpeta u otra mencionada en $PATH (o agregue la carpeta en la que tiene el script a $PATH).
También puede definir un alias para la ejecución de bash alias myscript="bash /path/to/script/myscript"
. (verifique la sintaxis usted mismo, no estoy seguro en este momento)