`env COLUMNS=%S ps ...` 有什么作用?

Ame*_*ina 2 shell bash environment-variables

我已经env COLUMNS=%s在 shell 脚本中看到了语法,例如,请参阅Emacs 中Helm 包中的以下行:

env COLUMNS=%s ps -axo pid,user,pri,nice,ucomm,tty,start,vsz,%%cpu,%%mem,etime,command
Run Code Online (Sandbox Code Playgroud)

有什么作用env COLUMNS=%s?例如,它与COLUMNS=%s或有什么不同export COLUMNS=%s

最后,有谁知道 OS X 是否支持这种语法?

dev*_*ull 5

env COLUMNS=%s 有什么作用?

它将COLUMNS带有值的变量传递%sps命令并忘记,即该变量不影响后续命令。

export 会导致变量也可用于后续命令,这可能是也可能不是意图。

说:

FOO=bar command
Run Code Online (Sandbox Code Playgroud)

env FOO=bar command
Run Code Online (Sandbox Code Playgroud)

是相同的。但是,env允许一个选项-i使其忽略它继承的环境。