Probé esto
./home/user/scripts/someScript
pero no funciona
El fichero o directorio no existe
¿algunas ideas?
Probé esto
./home/user/scripts/someScript
pero no funciona
El fichero o directorio no existe
¿algunas ideas?
Respuestas:
El punto inicial en su comando significa "relativo al directorio actual". Elimínelo y se referirá a "el archivo someScript
en el directorio /home/user/scripts
:
/home/user/scripts/someScript
Si obtiene "Permiso denegado", es porque no tiene permisos suficientes para acceder al archivo en el directorio de otros usuarios o porque el archivo no es ejecutable. Para hacerlo ejecutable, ejecute:
chmod +x /home/user/scripts/someScript
Si su script necesita acceder a los recursos en la misma carpeta desde la que se está ejecutando, y lo ha especificado como rutas relativas, entonces su script se romperá.
Siempre agrego un cd $(dirname $0)
al encabezado de mi script para que la carpeta que contiene el script sea la carpeta raíz.
Eliminar el .
Si hace que el script sea ejecutable chmod 755 <nameofscript>
para ejecutarlo, solo necesita escribir la ruta al script.
Cuando vea que ./script
se usa, le dice al shell que el script está ubicado en el mismo directorio que lo está ejecutando. Para usar la ruta completa, escriba sh /home/user/scripts/someScript
.
sh /path/to/file
es diferente de /path/to/file
. sh
ejecuta /bin/sh
que está vinculado a /bin/dash
.
sh ./somescript
que también se puede escribir como 'sh / path / to / script / scriptitself'.