两行命令的区别是什么?
shy@nova:~/dev$ env TEST_VAR=demo mono test.exe
demo
shy@nova:~/dev$ TEST_VAR=demo mono test.exe
demo
shy@nova:~/dev$
test.exe只是写出Environment.GetEnvironmentVariable的结果(" TEST_VAR");到控制台。正如你所看到的那样,无论是否包含“env”都可以使用。
这有什么解释吗?可以' env'总是被省略或者是不好的行为?
答案 0 :(得分:1)
env
是Unix和类Unix操作系统的shell命令。它用于打印环境变量列表或在更改的环境中运行另一个实用程序,而无需修改当前存在的环境。[...]
启动X应用程序xcalc并让它出现在不同的显示器上:
env DISPLAY=foo.bar:1.0 xcalc
请注意,这种env的使用通常是不必要的,因为大多数shell支持在命令前设置环境变量:
DISPLAY=foo.bar:1.0 xcalc
所以,不,如果你的shell是那些“大多数贝壳”之一。
答案 1 :(得分:0)
试试这个来源 https://www.mkssoftware.com/docs/man1/env.1.asp
据我所知,除非您想明确设置或更改环境变量,否则大多数shell都不需要 env 。