Амперсанд в Windows Password
У меня есть пароль для учетной записи Perforce, который содержит амперсанд (&), и когда я пытаюсь использовать определенные команды P4, я получаю следующую ошибку:
Perforce password (P4PASSWD) invalid or unset.
У меня такое ощущение, что это как-то связано с амперсандом, из-за чего пароль не распознается в командной оболочке Windows, однако я больше знаком с bash, чем с Windows, поэтому не уверен, как с этим справиться. Есть ли эксперты по Windows, которые видели что-то подобное? Я хотел бы избежать необходимости менять пароль, если это возможно, но каким-то образом установить переменную среды P4PASSWD так, чтобы она распознавалась оболочкой как правильный пароль.
2 ответа
Ты прав. Амперсанд - это специальный символ в командной строке 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>
Синтаксис ссылки : Escape-символы, разделители и кавычки
^ Побег персонажа.
Добавление escape-символа перед символом команды позволяет рассматривать его как обычный текст. При передаче или перенаправлении любого из этих символов вы должны использовать префикс с escape-символом: & \ < > ^ |
^\ ^& ^| ^> ^< ^^
Так что в командной оболочке Windows вам нужно использовать ^&
вместо &
избежать особого значения &