【发布时间】:2011-12-27 00:44:34
【问题描述】:
我的相同 BASH 脚本在 Fedora/CentOS 中运行。
但我正在测试一个Android eee pad transformer。
我有终端访问权限,我写了一个小测试脚本。但它不起作用,我该如何解决它?我做错了什么?
/data/data/berserker.android.apps.sshdroid/home $ cat test.sh
#!/bin/bash
var=`ifconfig -a`;
echo $var;
/data/data/berserker.android.apps.sshdroid/home $ chmod +x test.sh
/data/data/berserker.android.apps.sshdroid/home $ ./test.sh
sh: ./test.sh: not found
/data/data/berserker.android.apps.sshdroid/home $ uname -a
Linux localhost 2.6.36.3-00004-g069b8b5 #1 SMP PREEMPT Wed May 11 22:14:22 CST 2011 armv7l GNU/Linux
/data/data/berserker.android.apps.sshdroid/home $ bash ./test.sh
sh: bash: Permission denied
/data/data/berserker.android.apps.sshdroid/home $ ls -l /bin/bash
ls: /bin/bash: No such file or directory
/data/data/berserker.android.apps.sshdroid/home $ find / -name "bash"
find: /config: Permission denied
lots more.......
find: /proc/595/task/598/fd: Permission denied
......
find: /data: Permission denied
find: /root: Permission denied
跟进:
这是我现在可以使用的脚本:
#!/bin/sh
echo "hello wassup, run me simply as './test.sh'";
or
#!/bin/bash
echo "hello wassup, run me using 'sh ./test.sh'";
【问题讨论】:
-
@Ocaso Protal:见上文,全部透明粘贴。
-
我距离成为一名安卓专家还差得很远,但这可能是内存占用和使用小外壳来节省闪存和内存空间的问题。
ls -l /bin/bash显示什么?是符号链接吗?如果是,符号链接的目的地是什么?我认为 /bin/bash 是 shell 的符号链接,它不能完全符合 bash。 -
您尝试过简单的“sh”脚本吗?而不是 /bin/bash 使用 /bin/sh - 看看会发生什么。 android 可能根本没有正确实现 bash。
-
chmod 在某些 Android 发行版上不接受 +x 。试试 chmod 777。
标签: android linux bash fedora bash4