Escribí un script abc.sh
y lo guardé en un lugar llamado generallstuff
. Navego a esta carpeta con:
cd ~ /generallstuff
cuando intento ejecutar el script con:
chmod 755 abc.sh
me sale el error"no such file or directory"
Pero el guión está en este lugar, ¿por qué? Anteriormente no tenía problemas para ejecutar scripts.
Respuesta1
cd ~ /generallstuff
debería ser cd ~/generallstuff
; de lo contrario, cambiará a su directorio de inicio.
Respuesta2
Donde cuando¿Aparece exactamente el mensaje de error?
Un par de cosas para comprobar:
(1) El chmod
comando crea el script.soloejecutable, lo hacenoejecutarlo. chmod +x abc.sh
hará que su script sea ejecutable.
Aparte: Prefiero la versión "legible por humanos" del
chmod
comando a la que usa notación octal. Así, por ejemplo:
chmod u+x file
significa cambiar el archivo para el usuario a ejecutable (o simplemente+x
, elu
ser está implícito de forma predeterminada).Puede especificar
g
grupos,o
otros en lugar deu
o combinaciones. En lugar dex
puedes usarw
,r
etc, nuevamente en combinaciones si lo deseasÚselo
+
para agregar-
o quitar atributos.Ver elpágina de manual de chmodpara más información.
(2) ¿Tiene el encantamiento de shell apropiado en la parte superior de su archivo de shell? p.ej,
#!/bin/bash
(o el caparazón que quieras)
(3) ¿Cómo lo estás ejecutando? De esta manera debería funcionar:
./abc.sh
(4)Nota: Tu cd
comando tiene unespacio (' '
) entre ~
y /generallstuff
... con suerte, eso es solo un error tipográfico en la publicación; de lo contrario, el comandofallar¡Y no cambiarás de directorio!