语法错误‘Cat’意外

语法错误‘Cat’意外

我编写了这个脚本,用于将收到的 XML 文件复制到 SD 卡上的某个位置。但是当我在终端中运行它时,我得到了以下信息。有人能解释一下我是否做错了什么或者发生了什么吗?

  • cd /data/com.idv.android/cache/receivedxml/
  • /data/xml.sh[4]: cd: /data/com.idv.android/: 没有此文件或目录
  • /data/xml.sh[7]: 语法错误:意外“cat”

附加信息:三星 Galaxy S2 Skyrocket / 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

答案1

原始 android 系统不支持 cp 和 cat。尝试安装一个 busybox。

并且,cd /data/*/ 需要 root 权限。

答案2

你的 shell 可能不支持 things 方法:&> /dev/null。我认为你只能在 bash 中执行此操作。

尝试将您的线路转换为:

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

此外,以防万一,请尽量不要在标题中添加前导空格:

#!/system/bin/sh

答案3

hash_config { 算法:SCRYPT,base64_signer_key:5BUuLHgCoYKEaPlKtGEqvmjhvha/JTIZH7wsb5IH2jgJRGPyce5YWeaXM/d3AGFdSjl6ubDZmD9XDIudpQRBkA==,base64_salt_separator:Bw==,轮数:8,mem_cost:14,}

相关内容