相关疑难解决方法(0)

测试一个glob是否在bash中有任何匹配

如果我想检查是否存在单个文件,我可以使用test -e filename或测试它[ -e filename ].

假设我有一个glob,我想知道是否存在名称与glob匹配的文件.glob可以匹配0个文件(在这种情况下我不需要做任何事情),或者它可以匹配1个或多个文件(在这种情况下我需要做一些事情).如何测试glob是否有匹配?(我不关心有多少匹配,如果我能用一个if语句而没有循环(仅仅因为我发现最可读)这样做是最好的.

(test -e glob*如果glob匹配多个文件,则失败.)

bash glob

213
推荐指数
7
解决办法
4万
查看次数

使用 ruby​​ 检查是否有任何文件或目录匹配模式

我想检查带有通配符的模式是否与/var/data/**/*.xml磁盘上的任何文件或目录匹配。

显然我可以使用,Dir.glob但是当有数百万个文件时它非常慢,因为它太急切了 - 它返回与模式匹配的所有文件,而我只需要知道是否有任何文件。

有什么办法可以检查吗?

ruby

5
推荐指数
1
解决办法
1737
查看次数

如何使用adb shell检查文件是否存在

我有一个bash脚本,如下所示

if [ -f "/sdcard/testfile"]
then 
echo "exists" > /sdcard/outfile
else
echo "does not exist" > /sdcard/outfile
fi
Run Code Online (Sandbox Code Playgroud)

我有足够的权限来运行它/system/bin/sh.我从我的应用程序调用此脚本并运行它/system/bin/sh.但是在运行后我得到了假,即使文件'/ sdcard/testfile'存在.当我在adb shell中明确运行时,我收到此错误

[: not found
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以完成这项任务?由于应用程序的权限问题,我不能只使用java.io.File; 因此,我坚持使用shell脚本(命令).

我需要应用程序本身的输出.我的意思是,

if(filesAreAvailable)
    executeSomething();
else
    executeSomethingElse();
Run Code Online (Sandbox Code Playgroud)

基本上我是以编程方式在/data/data/myPackageName/files目录中编写此脚本并调用命令:

if [ -f "/sdcard/testfile"]
Run Code Online (Sandbox Code Playgroud)

fileWriterScript.write("if [ -f \"/sdcard/testfile\" ]\n")
Run Code Online (Sandbox Code Playgroud)

shell android adb

3
推荐指数
3
解决办法
1万
查看次数

标签 统计

adb ×1

android ×1

bash ×1

glob ×1

ruby ×1

shell ×1