AlexYeCu писал(а): ↑20.09.2013 20:02
Точно, не был установлен — не ожидал такого.
что-то у вас не так. То, что лично вы не ожидали, это нормально. Но вот ваш yum (или что там у вас над rpm?) ожидал, и не нашёл -- это что-то не то. Проверьте СУБД вашего дистра, ищите в документации команду типа rebuilddb или что-то подобное. Иначе проблемы так и будут лезть на каждом шагу.
AlexYeCu писал(а): ↑20.09.2013 20:02
bash: [: слишком много аргументов
bash: [: =: ожидается использование унарного оператора
Экономия на скобках, блин.
ну надо помнить, что [ это КОМАНДА такая. Т.е. это вам не сишечка и не бейсик. Синтаксически [ является не конструкцией ЯП, а обычной командой, типа /sbin/reboot.
Да, она встроенная в bash. Но синтаксис оставлен для совместимости с POSIX shell. Если вы хотите в скриптах использовать нормальное условие как в обычных ЯП, то используйте непереносимый башизм [[ ... ]].
Если-же вы пишите переносимы скрипт, который должен везде работать, то смиритесь с тем, что [ это такая команда, которая ждёт ДВА аргумента.
первый аргумент -- либо строка, либо некое "условие" Почитать про эти условия можно в man test.
второй аргумент -- это скобка "]"
Ну и если написать [ $VAR = "yes" ], и при этом $VAR пусто, то получится [ = "yes" ]. Что синтаксически неверно. Ну надо либо писать [ "$VAR" = "yes" ], либо ещё можно [ Z$VAR = Zyes ]. Но кто-же знал, что придёт
AlexYeCu, и руками убьёт дополнение баша так, что его yum будет думать, что оно ещё есть?