1
a="$(openssl x509 -in /path/to/pemfile.pem -text -noout)";
echo ${a} |grep -a1 -b2 Signature
,如果我把此行到终端
但是,如果我把同样的线路在一个文件,它工作得很好executeme.sh
,chmod +x executeme.sh
,./executeme.sh
我似乎并没有在变量中创建换行符,导致grep只接收到一行。输出是在终端上,如下所示:
20- Version: 3 (0x2)
38- Serial Number: 32 (0x27)
64: Signature Algorithm: md5WithRSAEncryption
107- Issuer: C=EN, ST=a, L=b, O=c, OU=d, CN=e
244- Validity
------
[...]
的脚本输出整个证书,好像我只会做a="$(openssl ...)"; echo ${a}
工程,但他们为什么重要? – Joel
@Joel:谢谢你的接受,请看看链接,特别是第二个链接。 – sjsam
我明白,它正在工作。 '回声'似乎输出尽可能拍摄 - 对吗?显然,我可以避免它,强制指定的字符串($ {a})被看作是一个完整的字符串。 – Joel