shell - 括号扩展不起作用

shell - 括号扩展不起作用

我正在尝试以下脚本:

#!/bin/bash

printf "Hello, this is a demo of brace expansion\n"

echo "Hello to each one of t{i,a,o}k"

输出:

$ ./hello.sh 
Hello, this is a demo of brace expansion
Hello to each one of t{i,a,o}k

为什么?

使用

GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)

答案1

双引号抑制括号扩展:

$ echo Hello t{i,a,o}k
Hello tik tak tok
$ echo "Hello t{i,a,o}k"
Hello t{i,a,o}k

您可以引用表达式的其余部分。可能有用的是,如果您引用括号部分之前的空格,它会停止分词,因此您会得到类似以下内容:

$ echo "Hello "t{i,a,o}k
Hello tik Hello tak Hello tok

相关内容