`tree` горизонтальное отображение

Синтаксис расширения скобок допускает запятые, но не допускает пробел после запятой. Во многих языках программирования пробелы после запятых являются обычным явлением, но не здесь. В Bash наличие пробела без кавычек препятствует раскрытию скобок.

Уберите пробел и все заработает:

cp ~/some/dir/{my-file-to-rename.bin,new-name-of-file.bin}

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

cp ~/some/dir/{my-file-to-rename,new-name-of-file}.bin

Если вы хотите проверить эффект расширения фигурных скобок, вы можете использовать echo, printf '%s 'илиprintfс любой строкой формата, которую вы предпочитаете, чтобы сделать это. (Лично я просто использую echoдля этого, когда работаю в Bash, потому что встроенная команда echoBash по умолчанию не расширяет escape-последовательности и, таким образом, достаточно хорошо подходит для проверки того, какая команда на самом деле будет работать. )Например:

ek@Io:~$ echo cp ~/some/dir/{my-file-to-rename,new-name-of-file}.bin
cp /home/ek/some/dir/my-file-to-rename.bin /home/ek/some/dir/new-name-of-file.bin

3
06.04.2020, 13:49
0 ответов

Теги

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