Как уже отмечалось многими, это оператор XOR . Многие люди также уже указали, что если вы хотите повысить степень экспансии, вам нужно использовать Math.pow .
Но я думаю, что также полезно отметить, что ^
- это всего лишь один семейства операторов, которые все вместе известны как побитовые операторы:
Operator Name Example Result Description
a & b and 3 & 5 1 1 if both bits are 1.
a | b or 3 | 5 7 1 if either bit is 1.
a ^ b xor 3 ^ 5 6 1 if both bits are different.
~a not ~3 -4 Inverts the bits.
n << p left shift 3 << 2 12 Shifts the bits of n left p positions. Zero bits are shifted into the low-order positions.
n >> p right shift 5 >> 2 1 Shifts the bits of n right p positions. If n is a 2's complement signed number, the sign bit is shifted into the high-order positions.
n >>> p right shift -4 >>> 28 15 Shifts the bits of n right p positions. Zeros are shifted into the high-order positions.
Из здесь .
Эти операторы могут пригодиться, когда вам нужно читать и записывать в целые числа, где отдельные биты должны интерпретироваться как флаги, или когда определенный диапазон бит в целочисленном значении имеет особое значение, и вы хотите извлечь только те из них. Вы можете делать много ежедневных программ, не требуя при этом использования этих операторов, но если вам когда-либо придется работать с данными на уровне бит, то хорошее знание этих операторов неоценимо.
Одним из вариантов является использование ssh-agent
и предоставление имени файла для ssh-add
.
Например:
$ ssh-agent /bin/bash
$ ssh-add ~/mykeys/id_rsa
Этого можно добиться, используя конфигурационный файл ssh .
Сначала создайте файл в папке ~/.ssh
с именем config
, вы можете использовать некоторую команду, например, следующую
$ nano ~/.ssh/config
Затем содержимое файла должно иметь местоположение вашего ключа на основе на каждом имени хоста. например:
Host github.com
IdentityFile ~/myPublicKeyFolder/myGitHubFile
Host heroku.com
IdentityFile ~/myPublicKeyFolder/myHerokuFile
Итак, когда git пытается получить доступ к каждому хосту, он будет следовать правилам внутри этого файла конфигурации, основанным на хосте git, к которому вы пытаетесь добраться
Использовать ssh-agent
ssh-agent bash -c 'ssh-add /home/me/my_private_key; git clone git@bitbucket.org:uname/test-git-repo.git'
Я бы сказал, поместите имя файла в ~/.ssh/config
, но у вас, вероятно, также не будет доступа к этому файлу.
Вы можете дать ssh
закрытый ключ для использования с опцией -i keyfile
.
Теперь, как сказать git, какие опции передать ssh?
На странице GitTips написано, что нужно создать скрипт-обертку и указать на него переменную окружения GIT_SSH
.
Похоже, вы также можете использовать конфигурацию git core.gitProxy
, но я не нашел хорошего примера, и в некоторых сообщениях списка рассылки предполагается, что это только для протокола git:
.
Для проекта, над которым я работаю, мое приложение должно выпустить сценарий оболочки со всеми командами git для инициализации / фиксации / отправки во внешний репозиторий. Файл ~ / .ssh / config запрещен, поэтому у меня есть открытый / закрытый ключи в каталоге приложения. Я использовал ответ Вальлака. Вот что я должен был сделать в своем сценарии оболочки, чтобы использовать мой ключ:
eval `/usr/bin/ssh-agent`
ssh-add /path/to/.ssh/id_rsa
надеюсь, что это кому-то поможет