shell 如何根据安装的python版本确定使用`python`或`python3`运行脚本?

xbp102n0  于 2023-04-21  发布在  Shell
关注(0)|答案(1)|浏览(153)

我有一个脚本文件myfile.sh,包含以下内容

#! /bin/bash

set -e

MYVAR=`cat $1 | python -c 'import os`'

问题是,如果安装了python3,或者换句话说(python〉3),我如何设置一个条件来使用python3,如果安装的版本〈3,我如何设置一个条件来使用python3,比如:

#! /bin/bash
set -e
#  CONSIDER THIS SUDO CODE 
if 'python3 --version' !== 'command not found or something null'; then     # SUDO CODE
  PYTHON=python3
else
  PYTHON=python
fi

MYVAR=`cat $1 | PYTHON -c 'import os`'
ht4b089n

ht4b089n1#

command命令允许您检查python3是否可用并使用它。
例如,在下面的脚本中,将使用python3,如果不可能,则将使用python

#!/bin/bash

set -e

if command -v python3 &>/dev/null; then
    PYTHON=python3
else
    PYTHON=python
fi

MYVAR=$(cat "$1" | $PYTHON -c 'import sys, os; print("Hello from", sys.version)')

echo "$MYVAR"

相关问题