Как использовать переменную в if-else в bash? - PullRequest
1 голос
/ 02 апреля 2020

Я установил git bash на windows и попытался написать несколько простых скриптов. Одна вещь, которую я не мог понять до сих пор, - простая математика и сравнение. Сейчас мне нужен случайный логический тип:

#!/usr/bin/env bash

condition=$(($(($RANDOM%2)) == 1))

if $condition; then
    echo "a"
else
    echo "b"
fi

Я получил command not found. Похоже, в git bash отсутствуют операторы сравнения, <,>, ==,! =, - eq, -lt, -gt не работает, что бы я ни пытался. Я нашел их во всех примерах. Есть идеи?

1 Ответ

2 голосов
/ 02 апреля 2020

Вы можете использовать его следующим образом:

#!/usr/bin/env bash

condition=$(((RANDOM % 2) == 1))

if ((condition)); then
    echo "a"
else
    echo "b"
fi

Обратите внимание, что вы также можете сократить присвоение переменной этому:

condition=$((RANDOM % 2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...