首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将输出重定向到shell中的变量?

如何将输出重定向到shell中的变量?
EN

Stack Overflow用户
提问于 2010-04-01 16:33:17
回答 5查看 362.6K关注 0票数 241

我有一个这样的脚本

代码语言:javascript
复制
genhash --use-ssl -s $IP -p 443 --url $URL | grep MD5 | grep -c $MD5

我想在一个变量中获得由genhash生成的流。如何将其重定向到变量$hash中,以便在条件中进行比较?

代码语言:javascript
复制
if [ $hash -ne 0 ]
  then echo KO
  exit 0
else echo -n OK
  exit 0
fi
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-04-01 16:35:37

使用$( ... )结构:

代码语言:javascript
复制
hash=$(genhash --use-ssl -s $IP -p 443 --url $URL | grep MD5 | grep -c $MD5)
票数 379
EN

Stack Overflow用户

发布于 2010-04-01 16:37:11

我猜是兼容的方式:

代码语言:javascript
复制
hash=`genhash --use-ssl -s $IP -p 443 --url $URL | grep MD5 | grep -c $MD5`

但我更喜欢

代码语言:javascript
复制
hash="$(genhash --use-ssl -s $IP -p 443 --url $URL | grep MD5 | grep -c $MD5)"
票数 20
EN

Stack Overflow用户

发布于 2014-12-09 02:02:55

如果管道太复杂而无法包装在$(...)中,可以考虑编写一个函数。定义时可用的任何局部变量都将是可访问的。

代码语言:javascript
复制
function getHash {
  genhash --use-ssl -s $IP -p 443 --url $URL | grep MD5 | grep -c $MD5
}
hash=$(getHash)

http://www.gnu.org/software/bash/manual/bashref.html#Shell-Functions

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2559076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档