Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
cb0833ac
Commit
cb0833ac
authored
Aug 21, 2016
by
Marc Cornellà
Browse files
Clean up formatting of ssh-agent plugin
parent
b60acdde
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/ssh-agent/ssh-agent.plugin.zsh
View file @
cb0833ac
local
_plugin__ssh_env
local
_plugin__forwarding
typeset
_agent_forwarding _ssh_env_cache
function
_plugin__start_agent
()
{
local
-a
identities
local
lifetime
zstyle
-s
:omz:plugins:ssh-agent lifetime lifetime
function
_start_agent
()
{
local
lifetime
local
-a
identities
# start ssh-agent and setup environment
ssh-agent
${
lifetime
:+-t
}
${
lifetime
}
|
sed
's/^echo/#echo/'
>!
${
_plugin__ssh_env
}
chmod
600
${
_plugin__ssh_env
}
.
${
_plugin__ssh_env
}
>
/dev/null
# start ssh-agent and setup environment
zstyle
-s
:omz:plugins:ssh-agent lifetime lifetime
# load identies
zstyle
-a
:omz:plugins:ssh-agent identities identities
echo
starting ssh-agent...
ssh-agent
${
lifetime
:+-t
}
${
lifetime
}
|
sed
's/^echo/#echo/'
>!
$_ssh_env_cache
chmod
600
$_ssh_env_cache
.
$_ssh_env_cache
>
/dev/null
ssh-add
$HOME
/.ssh/
${
^identities
}
# load identies
zstyle
-a
:omz:plugins:ssh-agent identities identities
echo
starting ssh-agent...
ssh-add
$HOME
/.ssh/
${
^identities
}
}
# Get the filename to store/lookup the environment from
if
((
$+
commands[scutil]
))
;
then
# It's OS X!
_plugin__ssh_env
=
"
$HOME
/.ssh/environment-
$(
scutil
--get
ComputerName
)
"
else
_plugin__ssh_env
=
"
$HOME
/.ssh/environment-
$HOST
"
fi
_ssh_env_cache
=
"
$HOME
/.ssh/environment-
$SHORT_HOST
"
# test if agent-forwarding is enabled
zstyle
-b
:omz:plugins:ssh-agent agent-forwarding _
plugin_
_forwarding
if
[[
${
_plugin__forwarding
}
==
"yes"
&&
-n
"
$SSH_AUTH_SOCK
"
]]
;
then
# Add a nifty symlink for screen/tmux if
agent
forwarding
[[
-L
$SSH_AUTH_SOCK
]]
||
ln
-sf
"
$SSH_AUTH_SOCK
"
/tmp/ssh-agent-
$USER
-screen
elif
[
-f
"
$
{
_plugin_
_ssh_env
}
"
]
;
then
# Source SSH settings, if applicable
.
$
{
_plugin_
_ssh_env
}
>
/dev/null
ps x |
grep
$
{
SSH_AGENT_PID
}
|
grep
ssh-agent
>
/dev/null
||
{
_plugin_
_start_agent
;
}
zstyle
-b
:omz:plugins:ssh-agent agent-forwarding _
agent
_forwarding
if
[[
$_
agent
_
forwarding
==
"yes"
&&
-n
"
$SSH_AUTH_SOCK
"
]]
;
then
# Add a nifty symlink for screen/tmux if agent forwarding
[[
-L
$SSH_AUTH_SOCK
]]
||
ln
-sf
"
$SSH_AUTH_SOCK
"
/tmp/ssh-agent-
$USER
-screen
elif
[
[
-f
"
$_ssh_env
_cache
"
]
]
;
then
# Source SSH settings, if applicable
.
$_ssh_env
_cache
>
/dev/null
ps x |
grep
$SSH_AGENT_PID
|
grep
ssh-agent
>
/dev/null
||
{
_start_agent
}
else
_plugin_
_start_agent
;
_start_agent
fi
# tidy up after ourselves
unfunction _plugin__start_agent
unset
_plugin__forwarding
unset
_plugin__ssh_env
unset
_agent_forwarding _ssh_env_cache
unfunction _start_agent
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment