3

В zsh у меня есть шаблон glob в переменной, и я хочу определить другую переменную, которая выполняет генерацию имени файла для этого шаблона. Есть ли способ сделать это, не создавая подоболочки?

Следующее не работает:

x=foo*
y=$~x

Очевидно, я могу сделать

x=foo*
y=$(echo $~x)

и регулярное поведение завершения начинается. Но суть этого вопроса состоит в том, чтобы не порождать подоболочку, которая кажется ненужной.

Этот вопрос не получил ответов в течение последних нескольких дней на stackoverflow.com, поэтому я решил, что попробую спросить здесь.

1 ответ1

2

Если вы сделаете y массив, параметр $x прибудут Расширенный:

$ x=foo*
$ y=($~x)
$ print -l $y
foo1
foo2

Если вы хотите одну строку, объедините значения массива пробелами:

$ ys=${(j: :)y}
$ print -l $ys
foo1 foo2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .