如何使用终端输入作为Python参数?

时间:2018-08-23 03:05:10

标签: python bash sh

我正在编写一个Python脚本,该脚本由.sh文件启动,接受2-3个参数。我已经用Java编写了我想要的东西,但是我不确定如何放入bash。

Scanner i = new Scanner(System.in);
String f, f1, f2;

System.out.print("Enter type: ");
f = i.next();

if (f.equals("a")){
  System.out.print("Enter var1");
  f1 = i.next();
  // run "python script.py a [f1]"
}

else if (f.equals("b")){
  System.out.print("Enter var1");
  f1 = i.next();
  System.out.print("Enter var2");
  f2 = i.next();
  // run "python script.py b [f1] [f2]"
}

这是我到目前为止所拥有的:

a="e"
b="test.txt"
c=""
python main.py "$a" "$b" "$c"

我看过How to concatenate string variables in Bash,但不确定如何将其放入条件语句中。

如何将读取的内容放入bash中的条件语句中?

1 个答案:

答案 0 :(得分:1)

这是一个入门Bash脚本:

echo "Enter type"
read f

if [ "$f" = "a" ]; then
    echo "Enter var1"
    read f1
    if [ -z "$f1" ]; then
        # -z means "variable is empty", i.e. user only pressed Enter
        python script.py "$f"
    else
        python script.py "$f" "$f1"
    fi
fi