使用Bash检查Android SD卡中的目录是否存在

3

我想使用Bash检查Android设备的SD卡中是否存在一个目录,与此类似的问题已经在这里得到了解答:如何在Bash shell脚本中检查目录是否存在?

不同之处在于当我执行以下命令时:

if [ -e /sdcard/myDir ]; then
     # magic
fi

我需要检查手机上是否存在 /sdcard/myDir 文件夹,而不是电脑上。如何检查手机上的文件夹是否存在?

2个回答

4
您可以采取以下措施:
if [ `adb shell "if [ -e /sdcard/myDir ]; then echo 1; fi"` ]; then 
   echo "Folder exists";
else
   echo "Folder does not exist";
fi

3
如果我理解正确,您可以尝试:
adb shell

我不确定标准的Android设备上是否有bash可用,可能只安装了简单的busybox工具。因此,在设备上输入shell命令时需要注意。

另外请注意,非rooted设备上您可以访问的目录集合非常有限。

更新: 更确切地说,如果您需要在远程设备上执行某种shell脚本,请先准备好脚本,例如foo.sh,然后执行以下操作:

adb push foo.sh /sdcard/
adb shell sh /sdcard/foo.sh

那应该可以解决问题了。

我在我的电脑上有一个脚本,它应该查询文件夹是否存在。我认为命令应该是类似于 if [ adb shell -d $myFolder]; then adb shell rm -r "$myFolder" fi - Matthias Braun
在这种情况下,创建一个名为foo.sh的文件,其中包含:if [ -d $myfolder]; then adb shell rm -r $myfolder fi,并按照描述将其推送并在设备上运行。 - pkk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接