在脚本启动时发送值



尝试制作一个 bash 脚本,该脚本设置一个值以供稍后在脚本中使用,具体取决于我在运行它时发送的内容; 即./script.sh 24

法典:

### Setting values depending on input
#
#   If value is between 7 and 13
if [[ $1 -le 13 || $1 -ge 7 ]]; then
#set value to 
VALUE=7
#   else if value is between 14 and 29
elif [[ $1 -le 29 || $1 -ge 14 ]]; then
#else set value to
VALUE=14
# else if value is larger than 30
elif [[ $1 -le 30 ]]; then 
#Set value to VALUE=30
#else
#   echo nope
fi
# This is just for showing what's going on
echo "input: $1"; echo "value: $VALUE"
#   Do other stuff here...

但是我无法让它正常工作,它只将"值"设置为 7,无论我在脚本启动时发送什么。 bash 是否以任何特殊顺序读取值?当我使用 ./script.sh 24 运行它时,我给出"值=7",但它(在我看来(应该是"值=14">

在第一个比较中:

$1 -le 13 || $1 -ge 7

您正在检查值是否低于 13 或高于 7。所有自然数都符合这个条件,例如:1 小于 13,100 表示 avobe 7,10 小于 13 且 avobe 7。所以你总是在第一个分支中输入。

也许您正在寻找高于 7 和低于 13 的数字:

$1 -le 13 && $1 -ge 7

相关内容

  • 没有找到相关文章