LINUX.ORG.RU

Что я делаю не так?


0

1
piyavking@piyavking-desktop:~$ for i in {0..3};do echo $i;done
0
1
2
3
piyavking@piyavking-desktop:~$ a=3;for i in {0..$(($a))};do echo $i;done
{0..3}
piyavking@piyavking-desktop:~$

По идее, вывод этих двух команд должен быть одинаков, но по факту - нет. Объясните, пожалуйста, почему.

Спасибо за внимание.

По идее, вывод этих двух команд должен быть одинаков

Да нифига, нет такой идеи.

Объясните, пожалуйста, почему.

Потому что при разворачивании подстановок Brace Expansion выполняется раньше, чем Parameter Expansion.

Читай внимательно man bash, все ответы там.

anonymous ()

анонимус правильно сказал.

кроме того, я за оба варианта первый раз лишаю премии, а на второй — увольняю.

val-amart ★★★★★ ()
Последнее исправление: val-amart (всего исправлений: 1)
Ответ на: комментарий от val-amart

К сожалению, я у себя единственный работник, приходится работать с тем, что есть)

piyavking ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.