0

我在谷歌上搜索了我的问题并找到了以下解决方案: 如何在 Bash 中连接字符串变量? 如果它那么容易的话会很酷,但显然我的问题必须有一个例外。我有一个带有变量的 shell 脚本,如下所示

#!/bin/bash
egrep "CN=$1/" index.txt|awk '{print $3}'
userpem="$3.pem"
openssl x509 -in $userpem -noout -text

不幸的是,它只是给出了.pem。你有什么建议为什么会发生这种情况?

4

1 回答 1

1

它只是给出“.pem”为什么:(?

因为$3被解释为传递给脚本的参数,可能什么都没有。

您需要连接您执行的命令的输出。说:

userpem=$(egrep "CN=$1/" index.txt|awk '{print $3}').pem

反而。您可能还想参考Command Substitution

于 2013-11-14T10:25:02.173 回答