По какой-то причине, вызовы WriteAllLines
все еще производят спецификацию для меня, с аргументом BOMless UTF8Encoding
и без него. Но для меня работало следующее:
$bytes = gc -Encoding byte BOMthetorpedoes.txt
[IO.File]::WriteAllBytes("$(pwd)\BOMthetorpedoes.txt", $bytes[3..($bytes.length-1)])
Мне пришлось сделать путь к файлу абсолютным, чтобы он работал. В противном случае он написал файл на моем рабочем столе. Кроме того, я полагаю, это работает, только если вы знаете, что ваша спецификация составляет 3 байта. Я не знаю, насколько надежно ожидать данный формат / длину спецификации на основе кодирования.
Также, как написано, это, вероятно, работает только в том случае, если ваш файл вписывается в массив powershell, который, похоже, имеет предел длины некоторого значения ниже [int32]::MaxValue
на моей машине.
Из моего .ssh / config
:
Host myshortname realname.example.com
HostName realname.example.com
IdentityFile ~/.ssh/realname_rsa # private key for realname
User remoteusername
Host myother realname2.example.org
HostName realname2.example.org
IdentityFile ~/.ssh/realname2_rsa # different private key for realname2
User remoteusername
И так далее.
foo:~$ssh-add ~/.ssh/xxx_id_rsa
Убедитесь, что вы проверили его, прежде чем добавлять:
ssh -i ~/.ssh/xxx_id_rsa username@example.com
Если у вас есть проблемы с ошибками, иногда помогает изменение безопасности файла:
chmod 0600 ~/.ssh/xxx_id_rsa