[英]run linux bash script on adb shell
我正在尝试在 adb shell 上运行 linux shell 脚本。 它给出了错误! 这是整个故事:
我写了一个简单的 bash 脚本 hello.sh :
#!/bin/bash
function hello
{
echo "hello world!"
}
hello
将它作为 ./hello.sh 运行会产生 o/p
hello world!
现在我使用
adb push hello.sh /data/folder_name
然后运行以下命令进入 adb shell
adb shell
在 adb shell 中触发以下命令
cd /data/folder_name
chmod 755 hello.sh
sh hello.sh
这是我在 adb shell 上得到的:
# sh hello.sh
sh hello.sh
function: not found
hello world!
hello: not found
#
这里发生了什么事! 或者是否有一些不同的方法来为 adb shell 脚本编写函数
我搜索但没有得到正确的解决方案 请帮助。
不确定 adb,但 'function' 不是标准语法。 它在许多 shell 中可用,但定义函数的标准方法是:
hello() { echo hello world; }
当作为sh
调用时,bash 进入 posix 模式,它试图尽可能地模仿 sh 历史版本的启动行为,同时也符合 POSIX 标准。
保留字function
对于 bash 是可选的,但我认为sh
历史版本是未知的。
尝试调用命令
bash /tmp/test.sh
您不需要将脚本推送到您的手机 - 只需像这样在 shell 本身中展开它,您就可以节省时间:
adb shell "$hello.sh"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.