在Windows上,我必须使用这样的命令:
set FOO=BAR && npm run something
但在Unix上,set
并没有定义环境变量。因此,我不得不使用export
,但export
只能在Unix上工作。
我最终有两个不同的Unix和Windows命令,这并不理想。。。
问题:如何使用命令为Windows和UNIX定义环境变量?
您不能使用同一个命令来配置具有单独命令的单独操作系统-在某些罕见和特定的情况下,可以这样做(查找多语言(,但一般情况下不能这样做。
你能使用环境变量以外的东西吗?这个问题通常通过具有用于合成/伪造"的项目文件来解决;"环境";变量,例如具有.env
文件。
虽然bash和cmd是不同的语言,系统也不同,编写不同的脚本是有意义的,但以下的多语言应该可以工作。
注意,set
是内置的bash,但定义函数set
将优先(参见type -a set
(,并且builtin set ..
允许调用内置的
echo ; set() { export "$1";} #>NUL
set FOO=BAR && npm run something