我怎样才能让这个脚本运行起来?

我怎样才能让这个脚本运行起来?

脚本(input.sh):

echo "What is your name?"

if [[ $1 =~ "*" ]]
then
read name1
read name2
echo "Are you really "$name1 "??? or" $name2 "?"
else
echo "Are you really "$1 "??? or" $2 "?"
fi

我想要的是如果我运行以下命令:./input.sh fahad Eclipse

然后它应该打印:

What is your name?
Are you really fahad ??? or Eclipse ?

另外,如果我这样做:./input.sh

然后它应该要求我输入,然后打印该行。

我怎样才能做到这一点 ?

答案1

由于 if 语句,您的脚本无法正确执行,下面的代码应该可以工作。它需要 2 个参数,否则它会询问 name1 和 name2。

if 语句包含“$#”,用于计算给定的参数数量。后面的“-ne”是“不等于”的比较运算符。最后一个数字表示您期望的数量。因此,在我们的例子中,我们正在寻找正好 2,如果给出 1 或 4,则将执行 else 语句。

#!/bin/bash
echo "What is your name?"

if [[ $# -ne 2 ]] ; then
read name1
read name2
echo "Are you really "$name1 "??? or" $name2 "?"
else
echo "Are you really "$1 "??? or" $2 "?"
fi

相关内容