Что именно делает команда env_variable=value &&

Достаточно достижимо сawk:

$ awk 'NR==FNR{split($0,a);}NR!=FNR{for(i=1;i<=NF;i++) print a[i],$i}' foo.txt bar.txt
foo1 bar1
foo2 bar2
foo3 bar3
foo4 bar4
foo5 bar5
foo6 bar6
foo7 bar7
foo8 bar8
foo9 bar9
foo10 bar10
0
19.02.2020, 18:56
2 ответа
foo=bar && somecmd

во многом совпадает с (, так как присваивание вряд ли завершится ошибкой)

foo=bar; somecmd

то же, что и (в отдельных строках)

foo=bar
somecmd

, что является назначением переменной оболочки с именем foo, а затем запуском команды somecmd. Если fooне является exported (переменные оболочки не являются по умолчанию ), то они не представлены в среде somecmd. Но вы можете использовать в той же оболочке.

См., например,.

3
28.04.2021, 23:22

Вы можете объединить команды в одну строку с помощью &&, чтобы они выполнялись последовательно -при условии, что все предыдущие команды выполняются успешно. Каждый работает в оболочке как -и не изменяет оболочку. Таким образом, каждый получает переменные среды из оболочки, в которой он работает.

$ LC_ALL=C && commandB

--> выполнить LC _ALL=C, и если он возвращает 0 в оболочку, затем выполнить команду B (со средой оболочки по умолчанию)

$ LC_ALL=C commandA

--> установить переменную LC _ALL в C и выполнить команду A с этими изменениями в среде (, эффективно выполняя эту одну команду)

2
28.04.2021, 23:22

Теги

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