gpt4 book ai didi

bash - 无法将 "python -V"的输出分配给 bash 中的变量

转载 作者:行者123 更新时间:2023-12-05 09:24:15 25 4
gpt4 key购买 nike

我正在编写一个 shell 脚本,它在检查系统上的 python 版本后做一些工作。

然后我执行 a=`python -V` 和 $a 的回显:

[root@machine folder]# a=`python -V`
Python 2.3.4
[root@machine folder]# echo $a

echo $a什么都不输出

同时我做:

[root@machine folder]# if grep "2.3.4" `python -V` ; then echo "bad" ; fi
Python 2.3.4

在我按下 enter 后,它只输出 python 的版本,除此之外什么都没有。

为什么会这样?我有其他方法可以完成相同的任务吗?

最佳答案

python -V 似乎在 stderr 上输出。如果你跑

a=`python -V` 

输出出现在控制台上(即它没有被子 shell 分配获取)。但是,如果您将 stderr 重定向到 stdout,那么

a=`python -V 2>&1` 

作品

关于bash - 无法将 "python -V"的输出分配给 bash 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14735366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com