brace-expansion

Bash 大括号扩展在导出语句中不起作用
brace-expansion

Bash 大括号扩展在导出语句中不起作用

考虑以下示例: $ echo file_{a,b,c} file_a file_b file_c # brace expansion worked :) $ export VARIABLE=file_{a,b,c} $ echo $VARIABLE file_c # brace expansion didn't work :( 为什么如果我file_{a,b,c}直接回显,大括号扩展会打印所有三个文件的名称,而如果我将相同的表达式分配给变量并回显,它只会打印 file_c 的名称? 是否有不同的...

Admin

将包含逗号的变量作为 -v 选项传递给 qsub
brace-expansion

将包含逗号的变量作为 -v 选项传递给 qsub

看到大家的反应后堆栈溢出关于这个问题以及对 qsub 的不熟悉,我相信 thqt U&L 更适合这个问题。 在 qsub 中,我们可以传递环境变量(以逗号分隔的对列表envar=value),如下所示: info="This is some info" qsub -v INFO=$info script.pbs 但是,当 $info 包含逗号时,这就会出现问题。 info="This is some info, and here is some more!" qsub -v INFO=$info script.pbs 这将触发如下错误: 错误:...

Admin

大括号扩展以使用不同的参数多次运行程序
brace-expansion

大括号扩展以使用不同的参数多次运行程序

我刚刚了解了大括号扩展,并希望我可以利用它们来启动具有不同命令行参数的相同 C++ 程序。 我的代码从终端运行如下: mpirun -n 1 main.exe 1 10 0.1 1 5 main.exe 后面的数字是我的程序的输入参数。 我想做这样的事情: mpirun -n 1 main.exe 1 10 {0.1,0.2} 1 5 我希望代码运行两次,一次使用 0.1,一次使用 0.2 作为第三个参数。 为什么它不起作用以及如何修复它? 最好的 ...

Admin

Bash - 当两端之一是变量时,范围不再按需要工作
brace-expansion

Bash - 当两端之一是变量时,范围不再按需要工作

#!/bin/bash myfirstarray=(1 3 5 7 9 11) for i in {2..4} do for j in {1..${myfirstarray[$((i-1))]}} do echo ${j} done done 在上面的代码中,外循环的范围被解释为所需的,从 到2迭代4。内循环范围内的两种替换也都有效。但是,内部范围被解释为字符串而不是整数范围。我该如何解决这个问题? 预期的: 1 2 3 1 2 ...

Admin

为什么我无法在路径中使用 * 和 touch ?
brace-expansion

为什么我无法在路径中使用 * 和 touch ?

这是以下的输出tree: [xyz@localhost Semester1]$ tree . ├── Eng ├── IT ├── IT_workshop ├── LA ├── OS ├── OS_lab ├── Psy ├── Python └── Python_lab 9 directories, 0 files 我想在每个目录中使用touch. 我尝试了这个命令: [xyz@localhost Semester1]$ touch */{credits,links,notes} 这是输出: touch...

Admin

如何保留传递给函数的参数扩展?
brace-expansion

如何保留传递给函数的参数扩展?

我有这个功能: cyan=`tput setaf 6` reset=`tput sgr0` function Info() { echo "${cyan}$1${reset}" } 我在其他脚本中使用它就像简单的Info some message. 但是,当我用它打印数组的所有项目时,它只打印第一项: Info "${ArrayVariable[@]}" # this only prints the first item echo ${ArrayVariable[@]}" # this prints all of them 使用此语法和此函数时...

Admin

使用多种模式运行“ls”时避免非零退出代码
brace-expansion

使用多种模式运行“ls”时避免非零退出代码

假设我有两个可能的路径,我想列出 Linux 计算机上的目录和文件: /some/path1/ /some/path2/ 如果我在 中执行以下操作,如果或至少之一存在,tcsh我会得到退出代码:0path1path2 ls -d /some/{path1,path2}/* 但是,如果我在 中执行完全相同的操作bash,则会收到2退出代码,并显示一条stderr消息报告path1不存在(如果 path1 是不存在的路径)。 在这种情况下我怎样才能表现bash得像这样?如果至少存在一条路径,是否有一个我可以要求它返回的tcsh开关?如果两者都不存在,我确实期...

Admin

使用大括号扩展将扩展数组存储在变量中
brace-expansion

使用大括号扩展将扩展数组存储在变量中

我想存储node1 node2 node3在一个变量中,以便它可以用作其他脚本的输入。 但是,我想通过使用 bash 给出的大括号扩展来做到这一点,如下所示:node{1..3} 我尝试使用一个变量nodes=node{1..3},但是当我将它用作脚本的参数 ( $nodes) 时,它会按字面意思拾取并且不会扩展。 ...

Admin

是否有可能获得双引号之间的 bash 大括号扩展的完整结果?
brace-expansion

是否有可能获得双引号之间的 bash 大括号扩展的完整结果?

我想使用 Bash 大括号扩展并得到双引号之间引用的最终结果: seq我仅通过使用以下方法才能获得该结果: echo '"'$(seq 1 5)'"'; 输出(这是预期的输出): "1 2 3 4 5" 但是当我仅尝试括号扩展时: echo '"'{1..5}'"' 但不幸的是,这会导致: "1" "2" "3" "4" "5" 是否可以得到与上面相同的结果(使用seq命令)但仅使用 bash 大括号扩展(不使用外部命令)? ...

Admin

大括号扩展与非排列列表 {txtfile,index}{1..3}.{txt,html} 我希望 `{txtfile,index}` 与 `{txt,html}` 相对应
brace-expansion

大括号扩展与非排列列表 {txtfile,index}{1..3}.{txt,html} 我希望 `{txtfile,index}` 与 `{txt,html}` 相对应

{txtfile,index}{1..3}.{txt,html} 我想{txtfile,index}与{txt,html} 生产: txtfile1.txt txtfile2.txt txtfile3.txt index1.html index2.html index3.html 但这段代码将生成 我不想要的所有可能的组合txtfile1.html,index1.txt 所以下面的代码不起作用。 {txtfile,index}{1..3}.{txt,html} 我只是认为相应的列表扩展会很好(它们的用例几乎总是与大括号扩展相结合) 语法可以是:{txtfil...

Admin

bash 大括号扩展:是否可以将另一个列表与初始列表相关联?
brace-expansion

bash 大括号扩展:是否可以将另一个列表与初始列表相关联?

例子: $ eval echo "{x,y,z}\ --opt\; " x --opt; y --opt; z --opt; 假设第二个列表是{1,2,3}且其长度等于第一个(初始)列表的长度。 问题: 农产品制作方法bash: x --opt 1; y --opt 2; z --opt 3; 如何制作bash产品(即引用列表中的元素{x,y,z}): x --opt x; y --opt y; z --opt z; 单衬是优选的。 ...

Admin

rsync:如何排除多种文件类型?
brace-expansion

rsync:如何排除多种文件类型?

这是运行 Catalina 的 Mac 上的 bash: 这有效: rsync -Pa --rsh="ssh -p 19991" --exclude '*.jpg' --exclude '*.mp4' pi@localhost:/home/pi/webcam /Volumes/Media/Webcam\ Backups/raspcondo/webcam/ 这些不: rsync -Pa --rsh="ssh -p 19991" --exclude={'*.jpg', '*.mp4'} pi@localhost:/home/pi/webcam /Volumes...

Admin

用 [ ] 打印表达式
brace-expansion

用 [ ] 打印表达式

我有一个表单输入A[BCDE]GT。我希望我的输出是: ABGT ACGT ADGT AEGT 我尝试使用echo, printf,试图找到可能有用的东西。有谁知道一些有助于执行此操作的命令? ...

Admin

如何从数组数组中检索项目?
brace-expansion

如何从数组数组中检索项目?

StackExchange 专业人士您好! 我正在开发一个适用于 macOS 的 zsh 项目。我使用排版创建了三个关联数组来保存值,以及第四个数组来引用各个数组。是否可以迭代 arrCollection 以从每个成员数组中检索键/值对?请注意,下面数组中的键与我的生产脚本不同 - 它们只是键索引,而不是您可能在关联数组中找到的更具描述性的键。 我想我可以像这样使用参数扩展: for k in $(sort <<< "${(kvF)arrCollection}"); do echo "$arrCollection["${(kvF)k}...

Admin

{,string} 语法如何工作?
brace-expansion

{,string} 语法如何工作?

我很难理解{,string}语法。我主要用它来重命名文件,例如mv test{,.original}但我不太明白: echo asdf{,.fdsa} 输出: asdf asdf.fdsa 但 echo asdf{asdf,.fdsa} 输出: asdfasdf asdf.fdsa 我尝试通读这我发现了一些类似的模式与#或?但现在与,.它的想法是应该找到模式,但我不认为这就是它的作用。 它是如何运作的? ...

Admin