variable-expansion相关内容

由于用空格扩展变量导致的 Grep 错误

我有一个名为“physics 1b.sh"的文件.在 bash 中,如果我尝试 x="物理 1b"grep "字符串" "$x".sh grep 抱怨: grep:physics 1b:没有那个文件或目录. 但是,当我这样做时 grep "string" Physics\ 1b.sh 它工作正常.所以我猜这个问题与变量没有被扩展以包含 grep 需要识别空间的反斜杠有关.我如何让它发挥 ..
发布时间:2022-01-06 14:08:49 其他开发

从 Bash 中的 $PATH 变量中删除路径的最优雅方法是什么?

或者更一般地说,如何从 Bash 环境变量中以冒号分隔的列表中删除项目? 我以为我在几年前看到了一种简单的方法,使用更高级的 Bash 变量扩展形式,但如果是这样,我已经忘记了.谷歌的快速搜索令人惊讶地发现很少有相关结果,而且没有一个我会称之为“简单"或“优雅"的.比如分别使用sed和awk的两种方法: PATH=$(echo $PATH | sed -e 's;:\?/home/user ..
发布时间:2021-12-09 10:36:58 其他开发

带变量的支撑扩展?

#!/bin/sh对于 {1..5} 中的 i做回声“欢迎"完毕 行得通,显示欢迎 5 次. #!/bin/shhowmany=`grep -c $1/root/file`对于我在 {1..$howmany}做回声“欢迎"完毕 没用!howmany 将等于 5,因为这是 grep -c 的输出将显示的内容.$1 是运行脚本时特定的参数 1. 有什么想法吗? 解决方案 创建一个序 ..
发布时间:2021-12-05 22:18:12 其他开发

Windows 命令解释器 (CMD.EXE) 如何解析脚本?

我遇到了 ss64.com,它提供了有关如何编写 Windows 命令解释器将要执行的批处理脚本的很好帮助运行. 但是,对于批处理脚本的语法,事物如何扩展或不扩展,以及如何逃避事物,我一直无法找到很好的解释. 以下是我无法解决的示例问题: 如何管理报价系统?我做了一个 TinyPerl 脚本 ( foreach $i (@ARGV) { print '*' . $i ; } ) ..
发布时间:2021-12-05 18:43:05 其他开发

调用其他程序时的Powershell变量扩展

我在尝试使用 7zaPowershell 中的命令行实用程序. 我将 $zip_source 变量设置为 zip 文件的路径和$unzip_destination 到所需的输出文件夹. 然而,7za 的命令行使用需要这样指定的参数: 7za x -y -o 所以我目前的电话是这样的: &'7za' x -y "$zip_source" -o$unzip_destination ..
发布时间:2021-06-19 20:34:44 其他开发

将带有参数作为字符串的命令传递给docker run

我面临的问题是如何将带有参数的命令传递给 docker run .问题是 docker run 不会将命令加参数作为单个字符串.需要将它们作为 docker run 的单独的一等参数提供,例如: #!/bin/bash泊坞窗运行--rm -it myImage bash -c“(cd build&&make)" 但是,将命令和参数视为变量的值: #!/bin/bash -xDOCKER_C ..
发布时间:2021-04-14 20:17:29 服务器开发

查找命令的参数扩展

考虑代码(因为存在变量$i,因为它在循环中,因此在模式中添加了多个条件,例如*.a和*.b,...,但是为了说明此问题,仅使用一个通配符模式足够): #!/bin/bash i="a" PATTERN="-name bar -or -name *.$i" find . \( $PATTERN \) 如果在包含文件bar和foo.a的文件夹上运行,它将工作,并输出: ./foo.a ..
发布时间:2020-07-13 19:04:20 其他开发

使用通配符扩展来回显zsh中的所有变量

在以相同模式开头的多个变量中,可以使用通配符来回显所有匹配的模式吗? zzz1=test1; zzz_A=test2; zzza=test3 时 匹配以zzz开头的所有变量的最佳方法是什么. echo $zzz*或for i in $zzz*; do echo $i; done之类的内容将输出: test1 test2 test3 解决方案 因此,要根据上面的评论直接回答.. ..
发布时间:2020-07-13 19:04:18 其他开发

Bash:在带空格的字符串中添加额外的单引号

当我尝试将参数作为变量传递给bash中的任何命令时,如果变量值有空格,我会看到bash添加了额外的引号. 我正在创建文件"some file.txt",并将其添加到变量$ file中. 我正在使用$ file并将其存储在另一个变量$ arg中,并在$ file上加上引号. 我希望通过bash进行变量扩展后的命令是 find . -name "some text.txt" 但是我遇到 ..
发布时间:2020-07-13 19:03:14 其他开发

在for循环中重击任意glob模式(带空格)

有没有办法可靠地使用存储在变量中的任意glob模式?如果模式同时包含空格和元字符,我将遇到困难.这就是我的意思.如果我将模式存储在一个没有空格的变量中,那么看起来一切正常: touch aa.{1,2,3} "a b".{1,2,3} p="aa.?" for f in ${p} ; do echo "|$f|" ; done |aa.1 ..
发布时间:2020-07-13 19:00:01 其他开发