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