标签: expansion

Bash globbing - 针对一些特定情况的autoexpand?

我知道通配符*(单独)将以这样一种方式扩展,即它意味着"当前文件夹中的所有非隐藏文件",其中隐藏文件是以句点为前缀的文件.

我认为有两个用例是有用的,但我不知道如何正确地做:

  1. 你怎么能为......"当前文件夹中的所有文件,包括隐藏文件,但不包括..."?

  2. 你怎么能为......"所有隐藏文件(和隐藏文件)在当前文件夹中,但不包括..."?

bash filenames glob expansion

10
推荐指数
1
解决办法
2926
查看次数

Qt:展开〜到主目录

Qt是否有任何与平台无关的功能来接受像"〜/ myfile"这样的路径?

我知道wordexp,但是与平台无关的包装器会很好.

编辑:

谢谢大家的回复."〜/ myfile"只是一个例子.我正在寻找的是处理文件路径的功能,因为您可以在命令行上编写.所以在Linux上,它应该接受"〜/ myfile","~otheruser/hisfile","$ VAR/file"等.在Windows上,它应该接受"%HOMEDIR%\ myfile"等.

qt path expansion tilde

10
推荐指数
1
解决办法
5235
查看次数

测试APK扩展库的问题

我已经将来自Google的APK扩展文件下载库集成到我的项目中,它或多或少都可以正常工作(除了一些小问题,其他人已经在SO上报告了).

但是,我很难测试它.当我第一次测试时,我将已签名的APK +主扩展文件版本1上传到Google Play,效果很好.

但是,当我升级我的应用程序时,与主扩展文件版本2一起,应用程序无法再下载文件 - 库立即返回NO_DOWNLOAD_REQUIRED,但文件不存在!我开始调试LVL检查通行证,但可下载的文件表是空的!当我试图调试细节时...它突然又开始工作了!

我认为这是一种暂时的故障并继续我的工作,只是再次更新我的APK和扩展文件后再次遇到同样的问题.应用程序通过LVL检查,但库再次假定没有要下载的文件.

这是谷歌图书馆的一个已知问题吗?或者我可能需要等待一段时间,直到文件在Google的云上可用?

编辑:它刚开始工作正常.它似乎需要一些时间让文件以某种方式在Google方面传播.关于该库的一个坏处是,一旦它验证了许可证,它就再也不会检查下载列表,所以我不得不重新安装该应用程序.奇怪......为什么这么复杂?

android expansion apk google-play

10
推荐指数
2
解决办法
4676
查看次数

为什么我在zsh中使用{1..9}会出现此错误?

我运行以下代码

zgrep -c compinit /usr/share/man/man{1..9}/zsh*
Run Code Online (Sandbox Code Playgroud)

我明白了

zsh: no matches found: /usr/share/man/man2/zsh*
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为以下工作

echo Masi{1..9}/masi
Run Code Online (Sandbox Code Playgroud)

这表明我的问题可能是Zsh中的一个错误.

以上是Zsh中{1..9}的错误吗?

shell zsh expansion

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

当应用于命令时,如何强制bash/zsh将参数计算为多个参数

我正在尝试运行这样的程序:

$CMD $ARGS
Run Code Online (Sandbox Code Playgroud)

其中$ ARGS是一组带空格的参数.但是,zsh似乎将$ ARGS的内容作为可执行文件的单个参数进行处理.这是一个具体的例子:

$export ARGS="localhost -p22"
$ssh $ARGS
ssh: Could not resolve hostname localhost -p22: Name or service not known
Run Code Online (Sandbox Code Playgroud)

是否有控制此行为的bash或zsh标志?

请注意,当我将这种类型的命令放在$!/ bin/sh脚本中时,它会按预期执行.

谢谢,

那么setjmp

command arguments zsh expansion

9
推荐指数
3
解决办法
2959
查看次数

android播放电影里面的扩展文件

我的应用程序正在尝试向用户提供大量内容,因此应用程序的大小远远超过50mb.我们无法减少或删除某些内容,因此我们决定采用扩展方法.

我正在尝试按照本教程:Android APK扩展文件,并已成功将扩展文件放入我的设备进行测试.我可以在扩展中获取任何视频文件的输入流.但是当我尝试为VideoView设置VideoUri时,它会开始崩溃.这是一些代码:

ZipFileContentProvider contentProvider = new ZipFileContentProvider();
String contentPath = "content://";
File root = Environment.getExternalStorageDirectory();
String EXP_PATH = File.separator + "Android" + File.separator + "obb" + File.separator;
String path = root.toString() + EXP_PATH + context.getPackageName() + File.separator + "main.1.com.c4e1.in2cricket.obb";
String zipFileName =  contentPath + path + "/" + fileName;
Uri uri = Uri.parse(zipFileName);
videoView.setVideoUri(uri);


public class ZipFileContentProvider extends APEZProvider {

    @Override
    public String getAuthority() {
        return "com.c4e1.in2cricket.provider.ZipFileContentProvider";
    }
}
Run Code Online (Sandbox Code Playgroud)

android expansion android-videoview

9
推荐指数
1
解决办法
3151
查看次数

apk扩展文件无法从Playstore下载

我正在使用从SDk下载的示例apk扩展文件.我的主要扩展文件大小约为5 MB,格式为"main.1.mypackage_name".

我将我的应用程序作为草稿应用程序与扩展文件一起上传到Play商店.但问题是当扩展文件下载进度时,在"Android/obb/mypackage"下创建一个包名称的文件夹.但是该文件夹中没有这样的文件.

有时我STATE_FAILED_UNLICENSED会在下载开始时从playstore 收到消息.

这应该是什么原因?文件名格式有什么问题吗?有谁能够帮我.

android expansion

9
推荐指数
1
解决办法
4418
查看次数

预处理器宏扩展到另一个预处理器指令

最初我以为我需要这个,但我最终还是避开了它.然而,我的好奇心(以及对知识,嗡嗡声的兴趣)让我问:

可以是预处理器宏,例如

#include "MyClass.h"

INSTANTIATE_FOO_TEMPLATE_CLASS(MyClass)
Run Code Online (Sandbox Code Playgroud)

扩展到另一个包括,像在

#include "MyClass.h"

#include "FooTemplate.h"
template class FooTemplate<MyClass>;
Run Code Online (Sandbox Code Playgroud)

c++ macros expansion c-preprocessor preprocessor-directive

8
推荐指数
2
解决办法
8779
查看次数

Bash内置命令的"a = b"类参数中的文件名扩展

我已经了解到,在Bash中运行命令时,在命令执行之前完成文件名扩展.但是在尝试下面的命令时(使用-x选项):

touch foo=3    # Create a file with name "foo=3"
+ touch foo=3
declare foo=?
+ declare 'foo=?'
alias foo=*
+ alias 'foo=*'
Run Code Online (Sandbox Code Playgroud)

我得不到我的期望,因为foo =?并且foo =*未扩展为文件名"foo = 3":

declare -p | grep 'foo='    # => foo='?'
alias | grep 'foo='         # => alias foo='*'
Run Code Online (Sandbox Code Playgroud)

但是如果我运行另一个类似cd的内置函数或者接受赋值作为自己编写的参数的函数,就像show_rhs() { echo "${1%=*}='${1#*=}'"; }我得到的那样(foo =?和foo =*被展开).

cd foo=?            # => foo=3: Not a directory
show_rhs() foo=*    # => foo='3'
Run Code Online (Sandbox Code Playgroud)

我可以在这里看到的唯一区别是申报和别名是内置插件接受工作任务作为参数.根据-x选项的输出,似乎添加了一对引用以在文件名扩展之前包含赋值.

但是如果文件名扩展在命令执行之前运行而不管命令是什么,那么传入declare和alias的参数应该是foo = 3而不是foo =?和foo =*由于存在文件"foo = 3".

那么Bash在文件名扩展之前根据命令做一些特殊的事情(可能引用通配符?)到"a = b"类似的参数?

(我的环境:CentOS …

linux bash expansion

7
推荐指数
1
解决办法
133
查看次数

禁用Matlab R2016b隐式扩展

Matlab R2016b带有一个怪物会杀死我们所有人:操作员隐式扩展.

基本上如果你有一个矩阵A和一个向量B,你现在可以做A + B(没有bsxfunrepmat).听起来不错吧?

但是,如果您提供列向量和行向量,它也可以工作!!

例:

a = 1:4      % row vector
b = (1:4)'   % column vector

% before R2016b:    
a + b
   Matrix dimensions must agree.

% after R2016b:
a + b 
    ans =

    2     3     4     5
    3     4     5     6
    4     5     6     7
    5     6     7     8
Run Code Online (Sandbox Code Playgroud)

扩展两个向量并给出一个矩阵作为结果!! 这非常糟糕,因为您可能在没有注意到的情况下进行了完全不需要的操作.

所以我的问题是:是否有一种方法可以禁用隐式扩展并回复Matrix dimensions must agree错误?

matlab vector matrix expansion

7
推荐指数
0
解决办法
414
查看次数