оболочка - заключает в фигурные скобки расширение, не работающее

Я пробую следующий сценарий:

#!/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)
2
задан 26 August 2017 в 13:03

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

можно заключить остальную часть в кавычки выражения. Возможно полезно при заключении в кавычки пространства перед частью фигурной скобки, это останавливает wordsplitting, таким образом, Вы получаете что-то как:

$ echo "Hello "t{i,a,o}k
Hello tik Hello tak Hello tok
4
ответ дан 2 December 2019 в 02:14

Другие вопросы по тегам:

Похожие вопросы: