He instalado Debian
testing
virtualizado con Virtualbox. Como se me llenó el disco, he creado otro, he movido a él mi directorio personal y lo tengo montado colgado en /home. Arranca perfectamente y puedo escribir en mi directorio, pero no me deja ejecutar
scripts
.
He creado el siguiente
script
llamado prueba con su correspondiente permiso de ejecución:
#!/bin/bash
echo hola
Cuando lo intento ejecutar me sale "bash: ./prueba: Permiso denegado". Si lo ejecuto con "su" no hace absolutamente nada. Si lo hago como root con "sudo su -c ./prueba" vuelve a decirme que "permiso denegado", pero con "sudo su - -c ./prueba" (o con "sudo su -l -c ./prueba" que es exactamente lo mismo), entonces sí lo ejecuta. Así que la cosa está en la opción "-" (o "-l") del comando "su". Dice el manual de "su":
-, -l, --login
Provide an environment similar to what the user would expect had
the user logged in directly.
O sea, que hay algo en mi entorno de usuario que está jodiendo la marrana, cosa que no pasa en el entorno de root. ¿Qué puede ser?
Por cierto, ¿hay alguna forma comúnmente aceptada de traducir al castellano la palabra "script"?
ruvelro Supermoderador
Registrado: Dec 31, 2005
Mensajes: 9575
Publicado:
Domingo 08 Enero 2012, 21:52
script es script... no tiene una traduccion comunmente conocida en castellano =P
Luego, sobre tu problema, ¿Has probado a darle permisos de ejecucion? eso se hace dando con el boton derecho, propiedades, permisos y marcar la casilla correspondiente.
Prueba y nos comentas. Un saludo
_________________ EL NO CONOCER LAS NORMAS NO EXIME DE SU CUMPLIMIENTO.
He instalado Debian
testing
virtualizado con Virtualbox. Como se me llenó el disco, he creado otro, he movido a él mi directorio personal y lo tengo montado colgado en /home. Arranca perfectamente y puedo escribir en mi directorio, pero no me deja ejecutar
scripts
.
He creado el siguiente
script
llamado prueba con su correspondiente permiso de ejecución:
#!/bin/bash
echo hola
Cuando lo intento ejecutar me sale "bash: ./prueba: Permiso denegado". Si lo ejecuto con "su" no hace absolutamente nada. Si lo hago como root con "sudo su -c ./prueba" vuelve a decirme que "permiso denegado", pero con "sudo su - -c ./prueba" (o con "sudo su -l -c ./prueba" que es exactamente lo mismo), entonces sí lo ejecuta. Así que la cosa está en la opción "-" (o "-l") del comando "su". Dice el manual de "su":
-, -l, --login
Provide an environment similar to what the user would expect had
the user logged in directly.
O sea, que hay algo en mi entorno de usuario que está jodiendo la marrana, cosa que no pasa en el entorno de root. ¿Qué puede ser?
Por cierto, ¿hay alguna forma comúnmente aceptada de traducir al castellano la palabra "script"?
te falta algo.
para que sea corecto lo tienes que tener asi:
Código:
#!/bin/bash
echo hola
read pause
done
y guardas el archivo con terminación
.sh
y claro, darle permisos
si tienes dudas dime y te ayudo
saludos
_________________
Invitado
Publicado:
Domingo 08 Enero 2012, 22:35
bpmircea escribió:
te falta algo.
para que sea corecto lo tienes que tener asi:
Código:
#!/bin/bash
echo hola
read pause
done
y guardas el archivo con terminación
.sh
y claro, darle permisos
Sigue sin funcionar. Y el script tal y como lo puse funciona con "sudo su -l -c ". Además, si me he encontrado con esto es porque ya no me deja ejecutar un script que antes sí me dejaba; un "configure" para compilar un programa.
te falta algo.
para que sea corecto lo tienes que tener asi:
Código:
#!/bin/bash
echo hola
read pause
done
y guardas el archivo con terminación
.sh
y claro, darle permisos
Sigue sin funcionar. Y el script tal y como lo puse funciona con "sudo su -l -c ". Además, si me he encontrado con esto es porque ya no me deja ejecutar un script que antes sí me dejaba; un "configure" para compilar un programa.
tiene que arrancar con
./prueba.sh
así lo hice yo:
_________________
hispalis70 Moderador Linux ADSLZone
Registrado: Mar 17, 2010
Mensajes: 3317
Publicado:
Domingo 08 Enero 2012, 22:58
La forma de ejecutarlo de siempre es la que te dice
bpmircea
Ruvelro me perdonará, pero aunque sea más largo también se puede decir, archivo ejecutable.
Una pregunta, en modo gráfico ¿has tocado el programa por defecto para ejecutar los scrpts?.
P.D.: para dar permisos
chmod
es tu amigo, en este caso sería algo así:
chmod 777 /ruta/archivo
La forma de ejecutarlo de siempre es la que te dice
bpmircea
Ruvelro me perdonará, pero aunque sea más largo también se puede decir, archivo ejecutable.
Una pregunta, en modo gráfico ¿has tocado el programa por defecto para ejecutar los scrpts?.
P.D.: para dar permisos
chmod
es tu amigo, en este caso sería algo así:
chmod 777 /ruta/archivo
Saludos
sin la
/ruta
también lo coge.
Código:
chmod u+x prueba.sh
./prueba.sh
saludos
_________________
Invitado
Publicado:
Lunes 09 Enero 2012, 1:45
bpmircea escribió:
tiene que arrancar con
./prueba.sh
Tendría
que arrancar. Siempre lo he hecho como dices, tanto con tu script como con el mío; pero es que a mi me ha ocurrido lo de quedarse el disco sin espacio, y luego el apaño que comenté al inicio de este hilo. Sospecho que al quedarme sin espacio en el disco se quedó sin escribir en él algo que debió haberse escrito, y de ahí viene todo.
Acabo de averiguar cómo aumentar el espacio de un disco en Virtualbox, así que puedo intentar deshacer lo hecho o crear un nuevo usuario, pero tengo curiosidad por saber qué está pasando y sí aprender algo sobre el sistema operativo.
Gracias por tomarte la molestia de incluso enviar un barrido de pantalla
Invitado
Publicado:
Lunes 09 Enero 2012, 2:13
hispalis70 escribió:
La forma de ejecutarlo de siempre es la que te dice
bpmircea
Ruvelro me perdonará, pero aunque sea más largo también se puede decir, archivo ejecutable.
Una pregunta, en modo gráfico ¿has tocado el programa por defecto para ejecutar los scrpts?.
P.D.: para dar permisos
chmod
es tu amigo, en este caso sería algo así:
chmod 777 /ruta/archivo
Saludos
Que yo sepa, no he tocado el programa por defecto para ejecutar los scrpts, y no sabría como hacerlo. El comando "env" me devuelve, entre otras cosas "SHELL=/bin/bash", no sé si es eso a lo que te refieres. Aunque al quedarme sin espacio igual pasó algo de eso ¿me dices cómo verificarlo?
Los permisos parecen estar bien, mira:
-rwxr-xr-x 1 durr durr 22 ene 8 21:06 prueba
-rwxr-xr-x 1 durr durr 38 ene 8 22:26 prueba2.sh
"prueba" es el archivo mío, y "prueba2" es el de
hispalis70
En cuanto a la discusión lingüística, "archivo ejecutable" no me parece equivalente a "script", porque un ejecutable puede ser también un archivo binario, pero un ejecutable binario no es un "script".
Invitado
Publicado:
Lunes 09 Enero 2012, 2:16
Perdón, en el anterior comentario, "prueba2.sh" es el script que propuso
bpmircea
.
hispalis70 Moderador Linux ADSLZone
Registrado: Mar 17, 2010
Mensajes: 3317
Publicado:
Lunes 09 Enero 2012, 2:46
Anonimo escribió:
En cuanto a la discusión lingüística, "archivo ejecutable" no me parece equivalente a "script", porque un ejecutable puede ser también un archivo binario, pero un ejecutable binario no es un "script".
No le des la menor importancia a eso, porque era un poco de broma. En realidad la palabra adecuada sería guión, o al menos así lo aprendí.
Tendría
que arrancar. Siempre lo he hecho como dices, tanto con tu script como con el mío; pero es que a mi me ha ocurrido lo de quedarse el disco sin espacio, y luego el apaño que comenté al inicio de este hilo. Sospecho que al quedarme sin espacio en el disco se quedó sin escribir en él algo que debió haberse escrito, y de ahí viene todo.
Acabo de averiguar cómo aumentar el espacio de un disco en Virtualbox, así que puedo intentar deshacer lo hecho o crear un nuevo usuario, pero tengo curiosidad por saber qué está pasando y sí aprender algo sobre el sistema operativo.
Gracias por tomarte la molestia de incluso enviar un barrido de pantalla
el echo de quedarte sin espacio en el disco no tiene nada que ver con los permisos de usuarios y archivos.
en
Linux: Manuales, How-To's
publique un pequeño manual en que se trata el tema, igual te puede ayudar.
En cuanto a la discusión lingüística, "archivo ejecutable" no me parece equivalente a "script", porque un ejecutable puede ser también un archivo binario, pero un ejecutable binario no es un "script".
No le des la menor importancia a eso, porque era un poco de broma. En realidad la palabra adecuada sería guión, o al menos así lo aprendí.
la palabra que mas se acerca a la original es
guión
tal y como lo dice el compañero
hispalis70
.
Ver tema siguiente Ver tema anterior Puede publicar nuevos temas en este foro Puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro