2

Я хочу запустить свой скрипт, который находится в system/bin и имеет права доступа 755.

С sh myscript нет никаких проблем , но myscipt или ./myscript не работает , даже если pwd выход /system/bin

На Ubuntu мне просто нужно положить в /usr/bin и после установки разрешений, я могу легко запустить его. Мне было интересно, почему я должен вставлять sh каждый раз, когда набираю это.

Например, я помещаю двоичный файл aria2 в /system /bin (755) и могу легко запустить, набрав aria2c . Я теперь, что это не сценарий, но они то же самое, что я пытался.

Обновить

У меня есть Hashbang как #!/bin/bash и какой вывод sh это /system/bin/sh

1 ответ1

1

Чтобы ответить: Android имеет другую структуру файловой системы, а bash находится в (из нестандартного расположения Linux PoV) /system/bin . Вот почему скрипт работал на Linux (Ubuntu), а не на Android.

Для неродных исполняемых файлов (например, bash, python и т.д.) Работает "hashbang" (#!) необходимо обновить, чтобы он содержал правильный путь к интерпретатору (#!/system/bin/bash).

Если на Android есть /usr/bin/env , используйте #!/usr/bin/env bash сделает скрипт переносимым.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .