Execute o script sem digitar sh no Android

2

Eu quero executar meu script, que está localizado no sistema / bin e permissões é 755.

Com sh myscript , não há problema, mas myscipt ou ./myscript não funciona, mesmo se a saída pwd for /system/bin .

No ubuntu eu só preciso colocar /usr/bin e depois de configurar as permissões, eu posso rodar facilmente. Eu me perguntei por que eu tenho que colocar isso toda vez que eu digito.

Por exemplo eu envio o arquivo binário aria2 para / system / bin (755) e posso executar facilmente com a digitação aria2c . Eu agora que isso não é script, mas eles são a mesma coisa que eu tentei.

Atualizar

Eu tenho hashbang como #!/bin/bash e qual saída sh é /system/bin/sh

    
por makgun 22.04.2016 / 06:20

1 resposta

1

Para que seja respondido: o Android tem layout de sistema de arquivos diferente, e o bash está em (a partir do local não padrão do PoV do linux) /system/bin . É por isso que o script estava trabalhando no linux (Ubuntu) e não no android.

Para executáveis não nativos (por exemplo, bash, python etc.) para trabalhar o "hashbang" ( #! ) deve ser atualizado para conter o caminho correto para o interpretador ( #!/system/bin/bash ).

Se houver /usr/bin/env no android, usar #!/usr/bin/env bash tornará o script portátil.

    
por 25.04.2016 / 15:58