![使用 Bash 脚本获取 Python 版本](https://linux22.com/image/1615064/%E4%BD%BF%E7%94%A8%20Bash%20%E8%84%9A%E6%9C%AC%E8%8E%B7%E5%8F%96%20Python%20%E7%89%88%E6%9C%AC.png)
我有一个从客户端获取 python 版本的脚本。bash 中的命令是:
pythonVer=$(ssh $user@$ip "python --version")
但是此命令在 stdout(连接到客户端的终端)上显示了 python 版本,但我无法将此值分配给变量。只有一台服务器允许这样做,因此当我尝试将此变量写入文件时,我只能在此文件中看到一个版本,其他版本号仅出现在我的终端中。
关于“python”命令的这个问题是什么?如何将客户端的 python 版本分配给名为 的变量pythonVer
?
答案1
似乎 Python 将其版本输出到 stderr,而不是 stdout。因此,将 stderr 重定向到 stdout 以捕获它
pythonVer=$(ssh "$user"@"$ip" 'python --version 2>&1')
或者
pythonVer=$(ssh "$user"@"$ip" 'python --version' 2>&1)