Erro de sintaxe 'Cat' inesperado

0

Eu escrevi este script para copiar arquivos XML que recebi em um ponto no meu sdcard. No entanto, quando eu corro no terminal eu recebo o seguinte. Alguém pode explicar se eu fiz algo errado ou o que está acontecendo?

  • cd /data/com.idv.android/cache/receivedxml /
  • /data/xml.sh [4]: cd: /data/com.idv.android/: Nenhum arquivo ou diretório desse tipo
  • /data/xml.sh [7]: erro de sintaxe: 'cat' inesperado

Informações adicionais: Skyrocket Samsung Galaxy S2 / Rooted /

#!/system/bin/sh
set -x verbose

cd /data/data/com.idv.android/cache/receivedxml/
if ls *.xml &> /dev/null; then
  for file in *.xml
  do
    cat "$file" > "/storage/sdcard0/XMLList/${file}"
  done
fi
exit
    
por IDV 23.09.2013 / 02:35

2 respostas

1

cp e cat não são suportados pelo sistema android original. tente instalar um busybox.

e, cd / data / * / need privilégio de root.

    
por 23.09.2013 / 03:00
0

Seu shell pode não ser compatível com o método: &> /dev/null . Eu acho que você só pode fazer isso no bash.

Tente converter sua linha para:

if ls *.xml > /dev/null 2>&1; then

Além disso, apenas por precaução, mas tente não adicionar espaços iniciais ao seu cabeçalho:

#!/system/bin/sh
    
por 23.09.2013 / 02:38

Tags