shell 我如何使我的bash脚本成为非交互式的?

q5iwbnjs  于 2023-02-05  发布在  Shell
关注(0)|答案(1)|浏览(203)

你好,我正在做一个项目,我必须写一个bash脚本计算器,让你执行多个算术运算,也可以的权力。我已经做了基本的位,但已被告知,我必须使其非交互式,只是想知道我会怎么做?我的代码已提供如下。

clear
bash
while [ -z "$arg1" ]
do
read -p "Enter argument1: " arg1
done

while [ -z "$arg2" ]
do
read -p "Enter argument2: " arg2
done

echo "You've entered: arg1=$arg1 and arg2=$arg2"

let "addition=arg1+arg2"
let "subtraction=arg1-arg2"
let "multiplication=arg1*arg2"
let "division=arg1 / arg2"
let "power=arg1**arg2"

echo -e "results:\n"
echo "$arg1+$arg2=$addition"
echo "$arg1-$arg2=$subtraction"
echo "$arg1*arg2=$multiplication"
echo "$arg1/$arg2=$division"
echo "$arg1^$arg2=$power"

我想尝试使它,使用户不必键入2个数字,但我仍然是相当新的bash和脚本作为一个整体,所以我想知道如何做到这一点。

llew8vvj

llew8vvj1#

使用getopts来处理脚本的参数。Here is an example来自此站点。您可以将从第一行到echo "You've entered …"的行替换为我链接到的其他答案中的修改代码。您可能需要阅读man bash的PARAMETERS部分,特别是了解什么是特殊参数(*,@,#,?,-,$,!,和0)。如果您正在编写bash脚本,您应该知道这些冷字符。
另一种选择是使用内置的read。我会使用getopts

相关问题