В моей .bashrc У меня есть следующий кодПочему я получаю сообщение об ошибке, когда использую `uname` в моем .bashrc?
if [`uname` == "Linux"]; then
echo "It worked"
else
echo "It didn't work"
fi
Но когда я источник моего .bashrc Я получаю следующие результаты
[Linux: команда не найдена
Это не работа
Странно, [
- не опечатка, это часть ошибки. Если я прокомментирую инструкцию if, ошибка исчезнет, поэтому я уверен, что она является источником ошибки. Плюс, если я изменю Linux
на linux
, тогда ошибка также изменится и на нижний регистр.
И если я эхо-неузнаю, я получаю Linux.
Чтобы исправить мой .bashrc, я использовал source .bashrc
, а также начал новый сеанс bash, набрав bash
на терминале командной строки.
Я не думаю, что было сложно проверить тип ОС, но я не могу понять правильный синтаксис для .bashrc.
Я не вижу, что я делаю неправильно, может ли кто-нибудь помочь?
Глупо меня. Спасибо, я должен был это понять. – Fred
+1 для ответа на подразумеваемый вопрос OP о «почему», а не только для отображения правильного синтаксиса. Единственное, что я бы изменил, это то, что Баш не говорит, что '[Linux' не существует; он говорит, что он не найден в PATH. Тонкое различие, но, возможно, важное для кого-то, кроме ОП. –
@CodeGnome спасибо за комментарий. Я починил это. –