浏览代码

ssh-agent: check if `ssh-add -l` was successful

Marc Cornellà 4 年之前
父节点
当前提交
101ea87232
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      plugins/ssh-agent/ssh-agent.plugin.zsh

+ 7 - 5
plugins/ssh-agent/ssh-agent.plugin.zsh

@@ -12,7 +12,7 @@ function _start_agent() {
 }
 
 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