Хотя l oop в сценарии оболочки дает ошибку: [: слишком много аргументов - PullRequest
0 голосов
/ 04 августа 2020
function read_num(){
    echo "Enter a lower limit"
    read lower_limit
    echo "Enter a upper limit"
    read upper_limit
    while [ [ $lower_limit -lt 1 ] || [ $lower_limit -gt $upper_limit ] ]
    do
    echo "Please enter again."
    read_num
    done 
}

read_num

когда я ввожу два числа, нижний и верхний предел, он дает следующий результат.

проверка. sh: строка 6: [: слишком много аргументов

И строка число 6 равно l oop

while [[$ lower_limit -lt 1] || [$ lower_limit -gt $ upper_limit]]

1 Ответ

1 голос
/ 04 августа 2020

Вот go, это работает для меня:

#!/bin/bash

function read_num(){
    echo "Enter a lower limit"
    read lower_limit
    echo "Enter a upper limit"
    read uper_limit
    while [[ $lower_limit -lt 1 ]] || [[ $lower_limit -gt $upper_limit ]]
    do
    echo "Please enter again."
    read_num
    done
}

read_num

Ссылка: Bash скрипт, несколько условий в while l oop

...