使用 Bash 脚本获取 Python 版本

使用 Bash 脚本获取 Python 版本

我有一个从客户端获取 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)

相关内容