我正在使用一个名为Droidbox的工具进行实验。 该工具有一个shell脚本 droidbox.sh ,我可以通过终端调用它。
droidbox.sh采用一个参数,即apk的路径
用法:./ droidbox.sh APK
我想通过shell脚本调用 droidbox.sh 。
我写了一个像
这样的shell脚本#!/bin/bash
ARG1="/home/xxx/a.apk"
/home/xxx/DroidBox_4.1.1/droidbox.sh "$ARG1"
我收到的错误是
python: can't open file 'scripts/droidbox.py': [Errno 2] No such file or directory
有人能指出我做错了吗?
答案 0 :(得分:2)
您的错误消息不是来自您的脚本,而是来自被调用的消息。
听起来droidbox.sh
脚本不是很聪明,要求您在调用之前设置当前的工作目录。
我通常会使用更多变量,所以你最好看看属于哪个:
#!/bin/sh
set -e
BASEDIR="/home/xxx"
DROIDDIR="$BASEDIR/DrroidBox_4.1.1"
APKFILE="$BASEDIR/a.apk"
cd "$DROIDDIR"
"$DROIDDIR/droidbox.sh" "$APKFILE"
如果你不使用set -e
,你最好将需要一起成功的命令组合起来:
cd "$DROIDDIR" && "$DROIDDIR/droidbox.sh" "$APKFILE"
否则,当缺少目录并且所有后续命令在错误的目录中执行时,cd
可能会失败。
答案 1 :(得分:1)
此错误是因为您在不同于包含" scripts / droidbox.py"的文件夹的文件夹中运行脚本。文件。您可以通过以下方式解决此问题: