2013-07-30 3 views
0

У меня есть телефон Android 2.2.2 (LG P350f). Он укоренен с Superuser, и я только что установил эмулятор терминала Android. Я регистрируюсь как root (su) и пытаюсь выполнить простой скрипт lol.sh, который должен эхо-строки. Я получаю следующий вывод:Возможно ли выполнить сценарий оболочки на телефоне Android?

# ./lol.sh 
./lol.sh: permission denied 

Очевидно, я пытался установить права доступа, но после ввода:

# chmod 777 lol.sh 

Я все еще получаю это:

# ls -l lol.sh 
----rwxxr-x ... 

Файл находится в SD карты, я попытаюсь переместить его в другое место, любые другие идеи?

+0

Вы можете использовать 'Process' в Java , – Phil

ответ

2

Большинство файловых систем в Android обычно монтируются с опцией «noexec». Убедитесь, что вы поместите свой скрипт в файловую систему, которая делает , а не.

+0

Да, это правильно. Вы можете, конечно, всегда вызывать его как «sh lol.sh» вместо этого, чтобы обойти «noexec» ... – mirabilos

0

Из Вашего вопроса, кажется, у вас есть доступ к корневой (# в приглашении оболочки), поэтому переместите сценарий в файловой системе, смонтированной с exec разрешения, например:

# mv lol.sh /data/lol.sh 
# chmod 700 /data/lol.sh 
# /data/lol.sh 
+0

root @ user:/data # ./run_script /system/bin/sh: ./run_script: Нет таких файл или каталог root @ user:/data # ls -l run_script -rwxrwxrwx root root 5861 2016-11-14 07:31 run_script –

+0

Привет, Диего, несмотря на копирование в/данные, я получаю ту же ошибку. Я проверил в mount/data не был установлен с noexec. Какова причина –

Смежные вопросы