【发布时间】:2013-05-07 14:02:04
【问题描述】:
在一个 shell 脚本中,我正在对 URL 数量运行 nslookup
有时某些 url 返回无法解决错误。我需要在变量中捕获这些错误。
这里是 nslookup 的代码,它会返回 IP 地址
output=$(nslookup "$URL" | grep Add | grep -v '#' | cut -f 3 -d ' ' | awk 'NR>1' )
现在在同一个变量输出中,我想捕获错误
nslookup: can't resolve
Stdout 我在一个文件中捕获。
我尝试了不同版本的重定向 - 2>&1 和其他版本,但错误没有分配给变量。我不希望将错误重定向到单独的文件,但希望将其记录在上面的输出变量中。
【问题讨论】:
-
您将
2>&1重定向放在"$URL"之后和第一个管道之前?应该管用。祝你好运。 -
@shellter 这仅在 2>&1 之后没有其他管道时才有效
-
应该可以。您使用的是什么操作系统?为了实用起见,@Jens 解决方案对我来说看起来不错。祝大家好运。