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

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

我想使用 Bash 大括号扩展并得到双引号之间引用的最终结果:

seq我仅通过使用以下方法才能获得该结果:

echo '"'$(seq 1 5)'"';

输出(这是预期的输出):

"1 2 3 4 5"

但是当我仅尝试括号扩展时:

echo '"'{1..5}'"'

但不幸的是,这会导致:

"1" "2" "3" "4" "5"

是否可以得到与上面相同的结果(使用seq命令)但仅使用 bash 大括号扩展(不使用外部命令)?

答案1

像这样吗? (与 Bash 一起echo

$ echo -n \"; echo -n {1..5}; echo \" 

或者(假设默认IFS):

$ quoteme() { printf \"; printf "$*"; printf '"\n'; }
$ quoteme {1..5}
"1 2 3 4 5"

相关内容