Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 环境变量的含义是什么!:=::\_Bash_Cygwin_Environment Variables - Fatal编程技术网

Bash 环境变量的含义是什么!:=::\

Bash 环境变量的含义是什么!:=::\,bash,cygwin,environment-variables,Bash,Cygwin,Environment Variables,我发现我的环境变量有一条奇怪的线: $ env ... !::=::\ ... $env ... !::=::\ ... 当我启动shell或运行bash脚本时,它有时存在,有时不存在。当它不存在时,我对subshell$(…)的bash调用需要3个转义反斜杠,而不是每个1 知道它是什么以及如何设置吗?这是Cygwin对Windows命令处理器(cmd.exe)创建的一个驱动器的表示,以便像MS-DOS一样跟踪每个驱动器的单独当前目录。您还应该看到像这样的条目!C:=C:\Users\Ross

我发现我的环境变量有一条奇怪的线:

$ env ... !::=::\ ... $env ... !::=::\ ... 当我启动shell或运行bash脚本时,它有时存在,有时不存在。当它不存在时,我对subshell$(…)的bash调用需要3个转义反斜杠,而不是每个1


知道它是什么以及如何设置吗?

这是Cygwin对Windows命令处理器(cmd.exe)创建的一个驱动器的表示,以便像MS-DOS一样跟踪每个驱动器的单独当前目录。您还应该看到像
这样的条目!C:=C:\Users\Ross Ridge
在env的输出中。Windows命令处理器以
=X:=X:\Path
的形式创建它们,但Cygwin将初始
=
更改为
以使其成为合法的Unix环境条目


所以你看到
!::=::::::\是因为Cygwin继承的Windows环境中有
=::::\
。我不确定为什么在Windows环境中有
=:::\
条目,
不是合法的驱动器号,但是。即使我使用Win-R直接启动Cygwin bash而不使用cmd.exe,它也存在于我的计算机上的Windows环境中,因此不清楚它的实际设置。

什么操作系统和版本?还有bash/zsh/etc吗?版本呢?您主要在Ruby或Python(或其他)编程环境中工作吗?有趣。祝你好运。这是一个只有bash的脚本,在windows7下运行,使用cygwin。也许你可以尝试在文件系统中使用grepping。试试
grep-r'!::=:\\\'上的一些变体/。不过,不确定您需要如何为cygwin修改它。在“env”的输出中,在这一行之前和之后显示了什么?我在git bash环境中也看到了env var。你能举一个关于sub-shell命令问题的例子吗?很好地找到了很好的参考链接。这并没有回答关于逃避差异的辅助问题(但我从一开始就对这个问题持怀疑态度)。