2 votos

¿Cómo puedo ejecutar un script en la tarjeta SD y poder pasarle argumentos?

He probado a ejecutar un script en la sdcard tal cual porque en FAT todo es 777.

./.profile
./.profile: permission denied

He añadido esto como comando inicial para el shell de Android y lo ejecuta sin problemas:

eval "$(cat /sdcard/.profile)"

Así que lo que me pregunto es: ¿hay alguna forma de ejecutar un script en la sdcard (distinta a la que he encontrado) y poder pasarle argumentos o tengo que hacerlo de la forma normal de BTEP (en su directorio de datos)?

2voto

Izzy Puntos 45544

Probablemente no podrás ejecutar directamente los scripts desde tu tarjeta sdcard. Al menos sin Root. La razón es que, con la mayoría de las ROMs las tarjetas sdcards se montan usando el noexec que significa, como el término sugiere: "no ejecutar desde aquí". Por supuesto, teniendo Root podrías simplemente volver a montar la tarjeta sdcard mientras quitas esta opción.

¿Por qué se puede forzar esta opción? Yo diría que por razones de seguridad. Mientras que en el almacenamiento interno, las aplicaciones están bastante limitadas en cuanto a dónde pueden escribir, en las tarjetas sdcards pueden escribir en todas partes. Así que esto podría ser utilizado por algunos "chicos/chicas malvados" para colocar sus scripts de malware - pero eso es sólo una suposición.

1voto

Lie Ryan Puntos 15629

Se traslada de los comentarios y se amplía.

Invocar el script con el shell directamente sh .profile arg1 arg2 debería funcionar. Si se vuelve engorroso invocar el shell y escribir los argumentos, también puedes crear un alias, la mayoría de los emuladores de terminal te permiten especificar un comando inicial para ejecutar al inicio de una sesión.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X