0 votos

Emitiendo comandos adb shell con argumentos

Así que puedo emitir un comando de shell en mi dispositivo GalaxyS5 usando esto:

$ adb shell run-as com.steenriver.littlecrane 'sh -c pwd'
/data/data/com.steenriver.littlecrane
$ adb shell run-as com.steenriver.littlecrane 'sh -c ls'
cache
files
lib

Hasta ahora todo bien.

Ahora, si quiero proporcionar un argumento al comando, el proyectil no lo verá:

$ adb shell run-as com.steenriver.littlecrane 'sh -c ls files'
cache
files
lib

También intenté iniciar un shell directamente, y luego escribir los comandos en la terminal, pero al hacer eso sólo hace que adb se cuelgue por completo, y no salga nada.

$ adb shell run-as com.steenriver.littlecrane 
u0_a197@kwifi:/data/data/com.steenriver.littlecrane $ ls
<hangs>

¿Cómo puedo dar un comando adb shell con argumentos?

0 votos

Dejaré esto para alguien más cualificado, pero creo que no es una pregunta para un usuario final. Tal vez en SO.

1voto

CoolRaoul Puntos 1

El interruptor "-c" del comando sh requiere (y usa) un solo argumento que es el comando de shell completo como una cadena.

Esto debería servir:

adb shell run-as com.steenriver.littlecrane 'sh -c "ls files"'

En el ejemplo original, "archivos" se interpreta como un argumento extra del comando "sh" (simplemente descartado cuando se utiliza el interruptor "-c") , no del comando "ls".

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