我正在尝试使用以下脚本检索我的PIV密钥:
dbGetQuery(con, "SELECT \"mixedCase\" from my_table limit 5;")
mixedCase
在Mac OS High Sierra 10.13.4上为。我得到:
getPIVkey.sh
NAME=`security find-certificate | grep PIV | sed 's;keychain:";;g' | sed 's;";;g'`
echo $NAME
ssh-keygen -i -m pkcs8 -f <(security find-certificate -p "$NAME" | openssl x509 -noout -pubkey)
答案 0 :(得分:1)
您似乎在第一个.*
命令和引号之间缺少空格。因此,您用于设置sed
变量的命令应该是
keychain:
使用改进的NAME
命令,NAME=`security find-certificate | grep PIV | sed 's;keychain: ";;g' | sed 's;";;g'`
的(打印的)值应该不再以sed
开头,而仅包含名称。
由于NAME
中的错误值,第二条keychain:
命令失败,因此输出NAME
。之后执行的命令也会失败。
仅供参考,在对问题Why does process substitution result in a file called /dev/fd/63 which is a pipe?的回答中解释了引用security find-certificate
的原因