首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash -输出命令到变量不起作用

bash -输出命令到变量不起作用
EN

Stack Overflow用户
提问于 2021-08-06 16:17:06
回答 1查看 167关注 0票数 1

因为某种原因,这在我的机器上行不通。我有一个测试脚本test.sh包含

代码语言:javascript
复制
#! /usr/bin/env ksh
JV=$(javac -version)
echo "JV1: $JV eol"
echo "JV2: ${JV} eol"

输出

代码语言:javascript
复制
JV1:  eol
JV2:  eol

如果我在终端上运行命令

代码语言:javascript
复制
>: javac -version

我得到了

代码语言:javascript
复制
>: javac 1.8.0_222

环境:

操作系统: CentOS Linux 7.7.1908发行版

Bash: 4.2.46(2)

我看了一下this post,似乎对我不起作用。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-06 16:23:39

java -version正在写入标准错误,而不是标准输出(这是$(...)捕获的。您需要重定向输出。

代码语言:javascript
复制
JV=$(javac -version 2>&1)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68684721

复制
相关文章

相似问题

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