我的 Perforce 帐户的密码包含与号 (&),当我尝试使用某些 P4 命令时,出现以下错误:
Perforce password (P4PASSWD) invalid or unset.
我感觉这与&符号有关,导致密码无法在 Windows 命令 shell 中识别,但是我对 bash 比对 Windows 更熟悉,所以我不确定如何处理这个问题。有没有 Windows 专家见过这样的事情?如果可能的话,我想避免更改密码,但以某种方式设置我的 P4PASSWD 环境变量,以便 shell 将其识别为正确的密码。
答案1
您说得对。& 符号是 Windows 命令行中的特殊字符。通常要转义它,您可以使用插入符号 (^) 或双引号。如果这两种方法都不起作用(或者您实际上没有在命令行中输入密码),我建议您更改密码。
例如:
C:\Windows\System32>echo a&b
a
'b' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\System32>echo a^&b
a&b
C:\Windows\System32>
答案2
^ 转义字符。
在命令符号前添加转义字符可将其视为普通文本。当管道或重定向您应该在以下任何字符前加上转义字符:& \ < > ^ |
^\ ^& ^| ^> ^< ^^
因此,在 Windows 命令 shell 中,您需要使用^&
而不是&
来转义&