2015-07-31 2 views
0

я пытаюсь запустить следующий Bash кодекса на моем Android 5.1 Терминала (корни, bussybox), но получаю ошибкуAndroid Shell Синтаксическая ошибка: 'фи' неожиданный

Syntax error: 'fi' unexpected 

Код:

if [ $api -lt 14 ]; then 
    run=/data/data/com.googlecode.android_scripting/files/run_pie 
    if ! [ -x $run ]; then 
     echo "need root permission to launch run_pie/python" 
     ls -l "$run" 
     su -c "$run $bin/bin/python $*" 
    else 
     $run $bin/bin/python $* 
    fi 
else 
    $bin/bin/python $* 
fi 

Я не продвигаюсь, используя bash! Я слежу за некоторыми учебниками bash, ища ошибку, но я не могу найти ошибку ?!

+0

Не имеет ли BusyBox пепел, а не bash? Во всяком случае, синтаксис для операторов 'if' должен быть одинаковым. Вы пробовали включить shebang в начале вашего скрипта (например, '#!/Bin/busybox sh')? – Michael

+0

, когда я добавляю shebang как #!/Bin/bash или #!/Bin/sh и вызываю скрипт с «python» (имя файла, находящегося в системе/bin) в терминале, я получаю «нет такого файла или каталога», – fteinz

ответ

0

Вы когда-нибудь определяли api?

  1. В начале файла вам лучше использовать #!/Bin/bash, чтобы определить оболочку для использования.
  2. апи должны быть определены, прежде чем использовать его в '[]', попробуйте следующее:

    если [-n "$ апи"] & & [$ апи -lt 14]; затем

+0

, когда я добавляю shebang как #!/Bin/bash или #!/Bin/sh и вызываю скрипт с «python» (имя файла, находящегося в системе/bin) в терминале, я получаю «нет такого файла или каталога», – fteinz

+0

$ api определяется в начале скрипта. – fteinz

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