我在谷歌上搜索了我的问题并找到了以下解决方案: 如何在 Bash 中连接字符串变量? 如果它那么容易的话会很酷,但显然我的问题必须有一个例外。我有一个带有变量的 shell 脚本,如下所示
#!/bin/bash
egrep "CN=$1/" index.txt|awk '{print $3}'
userpem="$3.pem"
openssl x509 -in $userpem -noout -text
不幸的是,它只是给出了.pem。你有什么建议为什么会发生这种情况?
我在谷歌上搜索了我的问题并找到了以下解决方案: 如何在 Bash 中连接字符串变量? 如果它那么容易的话会很酷,但显然我的问题必须有一个例外。我有一个带有变量的 shell 脚本,如下所示
#!/bin/bash
egrep "CN=$1/" index.txt|awk '{print $3}'
userpem="$3.pem"
openssl x509 -in $userpem -noout -text
不幸的是,它只是给出了.pem。你有什么建议为什么会发生这种情况?
它只是给出“.pem”为什么:(?
因为$3
被解释为传递给脚本的参数,可能什么都没有。
您需要连接您执行的命令的输出。说:
userpem=$(egrep "CN=$1/" index.txt|awk '{print $3}').pem
反而。您可能还想参考Command Substitution。