相关疑难解决方法(0)

为什么在双启动时禁用 Windows 8 上的快速启动?

如果您与 Ubuntu 一起安装,为什么每个人都提到要在 Windows 8 上禁用快速启动?它是仅推荐用于 UEFI 机器还是建议用于旧版 BIOS 机器?是因为它使 Linux 无法访问 Windows 分区还是有另一个更严重的原因来禁用它?

boot windows-8

61
推荐指数
2
解决办法
7万
查看次数

如何通过脚本中的变量将“*”通配符传递给 find 命令的路径参数?

我想用来find在一组受通配符限制的文件夹中查找文件,但路径名中有空格。

从命令行,这很容易。以下示例均有效。

find  te*/my\ files/more   -print
find  te*/'my files'/more  -print
find  te*/my' 'files/more  -print
Run Code Online (Sandbox Code Playgroud)

例如,这些将在terminal/my files/more和 中找到文件tepid/my files/more

但是,我需要将其作为脚本的一部分;我需要的是这样的:

SEARCH='te*/my\ files/more'
find ${SEARCH} -print
Run Code Online (Sandbox Code Playgroud)

不幸的是,无论我做什么,我似乎都无法find在脚本中的命令中混合使用通配符和空格。上面的示例返回以下错误(注意反斜杠的意外加倍):

find: ‘te*/my\\’: No such file or directory
find: ‘files/more’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

尝试使用引号也会失败。

SEARCH="te*/'my files'/more"
find ${SEARCH} -print
Run Code Online (Sandbox Code Playgroud)

这将返回以下错误,忽略引号的含义:

find: ‘te*/'my’: No such file or directory
find: ‘files'/more’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这里再举一个例子。

SEARCH='te*/my files/more'
find ${SEARCH} -print
Run Code Online (Sandbox Code Playgroud)

正如预期的那样:

find: ‘te*/my’: No such file …
Run Code Online (Sandbox Code Playgroud)

scripts find wildcards

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

标签 统计

boot ×1

find ×1

scripts ×1

wildcards ×1

windows-8 ×1