Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 用于读取';openssl帮助';_String_Bash_Openssl - Fatal编程技术网

String 用于读取';openssl帮助';

String 用于读取';openssl帮助';,string,bash,openssl,String,Bash,Openssl,我尝试读取bash命令“openssl help”的输出,并将其放入字符串变量中进行进一步处理 准确地说,我想测试所有密码命令 首先,我尝试读取命令“openssl密码”的输出。但我只有密码,没有密码命令。但如果我键入“openssl帮助”,则会显示密码命令。问题是现在命令的输出没有保存在我的变量中 CIPHER=`openssl ciphers` echo "Output:" echo $CIPHER 这很有效。但不幸的是,$CIPHER的内容不是我需要的 CIPHER=`openssl h

我尝试读取bash命令“openssl help”的输出,并将其放入字符串变量中进行进一步处理

准确地说,我想测试所有密码命令

首先,我尝试读取命令“openssl密码”的输出。但我只有密码,没有密码命令。但如果我键入“openssl帮助”,则会显示密码命令。问题是现在命令的输出没有保存在我的变量中

CIPHER=`openssl ciphers`
echo "Output:"
echo $CIPHER
这很有效。但不幸的是,$CIPHER的内容不是我需要的

CIPHER=`openssl help`
echo "Output:"
echo $CIPHER

这不管用。变量密码为空。为什么?

似乎
openssl帮助
内容被写入标准错误流
stderr(2)
而不是
stdout(1)
。建议将错误流(由文件描述符2表示)重新重定向到标准输出(由文件描述符1表示)以修复此问题

由于输出包含多行流,建议使用适当的双引号将
$(..)
命令替换包含在反勾号(过时的技术)之上

sslOutput="$(openssl help 2>&1)"
printf "%s\n" "${sslOutput}"

查看为什么似乎
openssl帮助
内容被写入标准错误流
stderr(2)
而不是
stdout(1)
。建议将错误流(由文件描述符2表示)重新重定向到标准输出(由文件描述符1表示)以修复此问题

由于输出包含多行流,建议使用适当的双引号将
$(..)
命令替换包含在反勾号(过时的技术)之上

sslOutput="$(openssl help 2>&1)"
printf "%s\n" "${sslOutput}"

查看原因

您想要
openssl密码
openssl帮助
?您想要
openssl密码
openssl帮助
?另请参见