summaryrefslogtreecommitdiff
path: root/plugins/ssh-agent/ssh-agent.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ssh-agent/ssh-agent.plugin.zsh')
-rw-r--r--plugins/ssh-agent/ssh-agent.plugin.zsh14
1 files changed, 8 insertions, 6 deletions
diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh
index a7a4ee33a..6ab041c21 100644
--- a/plugins/ssh-agent/ssh-agent.plugin.zsh
+++ b/plugins/ssh-agent/ssh-agent.plugin.zsh
@@ -5,14 +5,14 @@ function _start_agent() {
zstyle -s :omz:plugins:ssh-agent lifetime lifetime
# start ssh-agent and setup environment
- echo starting ssh-agent...
+ echo Starting ssh-agent...
ssh-agent -s ${lifetime:+-t} ${lifetime} | sed 's/^echo/#echo/' >! $_ssh_env_cache
chmod 600 $_ssh_env_cache
. $_ssh_env_cache > /dev/null
}
function _add_identities() {
- local id line sig
+ local id line sig lines
local -a identities loaded_sigs loaded_ids not_loaded
zstyle -a :omz:plugins:ssh-agent identities identities
@@ -32,10 +32,12 @@ function _add_identities() {
fi
# get list of loaded identities' signatures and filenames
- for line in ${(f)"$(ssh-add -l)"}; do
- loaded_sigs+=${${(z)line}[2]}
- loaded_ids+=${${(z)line}[3]}
- done
+ if lines=$(ssh-add -l); then
+ for line in ${(f)lines}; do
+ loaded_sigs+=${${(z)line}[2]}
+ loaded_ids+=${${(z)line}[3]}
+ done
+ fi
# add identities if not already loaded
for id in $identities; do