так как некоторое время проверка написания является сменной ведьмой, которую необходимо установить на Вас собственный. http://extensions.libreoffice.org/extension-center?getCategories=Dictionary
Что делает env COLUMNS =% s?
Он передает переменную COLUMNS
со значением % s
команде ps
и ] забывает , т.е. переменная не влияет на последующие команды.
export
сделает переменную доступной и для последующих команд, что может быть, а может и не быть целью.
Говорят:
FOO=bar command
и
env FOO=bar command
идентичны. Однако env
допускает параметр -i
, который заставляет его игнорировать среду, которую он наследует.
Все они устанавливают переменную окружения [112771] COLUMNS[112772] на значение [112773]%s[112774] для вызова команды [112775]ps[112776]. В командной оболочке значение [112777]COLUMNS[112778], если таковое имеется, остается таким же, как и раньше. Первый фрагмент выполняет этот эффект через внешнюю программу [112779]env[112780], второй - с использованием чистого синтаксиса оболочки, третий - с помощью сборки оболочки [112781] export[112782] в сочетании с конструкцией [112783](...)[112784] subhell. Это отличается от
, которая устанавливает переменную окружения [112785]COLUMNS[112786] таким образом, что она остается в силе в оставшейся части скрипта, и от, которая в отличие от других устанавливает только переменную оболочки (которую [112787]ps[112788] не увидит), но не экспортирует [112789]COLUMNS[112790] в оболочку окружения. (Однако, если [112791]COLUMNS[112792] уже присутствовал в окружении, то установлено значение [112793]%s[112794]. )
Программа [112795]env[112796] может выглядеть бесполезной, но она существует
потому что старше конструкции оболочки [113044]VAR=value command[113045];
потому что она полезна в других случаях, например, когда программа запускает другую программу, не проходя через оболочку, и вы хотите установить несколько переменных окружения;
потому что она может работать с системами, которые имеют другую оболочку (e. g. в csh или Windows), если команда [113046]env[113047] доступна и в PATH.
Обратите внимание, что [112803]COLUMNS[112804] должен быть числом; [112805]ps[112806] игнорирует его, если он не числовой. Zsh даже отказывается устанавливать [112807]COLUMNS[112808] на нецифровое значение, поскольку по умолчанию он объявляет [112809]COLUMNS[112810] числовой переменной. В программе, которую вы цитируете, [112811]%s[112812] будет заменено на число перед использованием строки в качестве команды оболочки.[112367].