Ответы пользователя по тегу Командная строка
  • Не могу запустить от имени другого пользователя cowsay и xcowsay что делать?

    nathanael
    @nathanael
    Интересующийся новичок.
    Суперпользователь по умолчанию не имеет "games" в PATH.
    Быстрое решение: посмотреть где лежит бинарник cowsay и запускать его от рута напрямую:
    $ which cowsay
    /usr/games/cowsay
    Ответ написан
    Комментировать
  • Как сравнить 2 числа на bash?

    nathanael
    @nathanael
    Интересующийся новичок.
    Чтобы выполнять арифметические операции можно использовать инструкцию let (встроена в bash):
    $ let "a=2+2"
    $ echo $a
    4

    Для сравнения используется оператор (( :
    $ if (( $a > 2 )); then echo "Bigger"; else echo "smaller"; fi
    Bigger

    Почитайте нетленку Advanced Bash scripting guide (на русском).

    Другой пример:
    $ if (( $a+2 > 6 )); then echo "Bigger"; else echo "smaller or equal"; fi
    smaller or equal

    Также в выражениях всегда нужно следить чтобы перед и до оператора вроде [[ или (( в словиях был пробел, иначе баш будет воспринимать их как другие лексемы (слитно с предыдущим словом, например как вызов других команд).

    Можно сказать что операторы [, [[ это аналоги команды test, а (( это синоним let или утилиты expr.
    Ответ написан
    3 комментария