Есть такой пример
#!/bin/bash
HOME_DIR=/home/diman
cd $HOME_DIR
if [ 'pwd' == "$HOME_DIR" ]
then
echo "All ok"
else
echo "No ok"
fi
exit 0
1. Почему if не работает?
2. Что делает fi?
bash (if и fi)
Модераторы: /dev/random, Модераторы разделов
Re: bash
для исполниения команды используй обратные (или как их там, на букве "Ё") кавычки: ``
fi - конец инструкции if
для сравнения используй одно равно.
Исправленный вариант:
fi - конец инструкции if
для сравнения используй одно равно.
Исправленный вариант:
Код: Выделить всё
HOME_DIR="/home/diman"
cd $HOME_DIR
if [ `pwd` = $HOME ]; then
echo "All ok"
else
echo "No ok"
fi
Re: bash
во-первых, видимо, все-таки кавычки использованы прямые, а не обратные. во-вторых, логичнее будет и левый аргумент заключить в двойные кавычки.(kkkggg @ Oct 9 2006, в 18:33) писал(а):1. Почему if не работает?
завершает конструкцию if-then-else-fi(kkkggg @ Oct 9 2006, в 18:33) писал(а):2. Что делает fi?
так даже лучше:(Liksys @ Oct 9 2006, в 18:46) писал(а):для исполниения команды используй обратные (или как их там, на букве "Ё") кавычки: ``
потому что легче строить вложенные конструкции.$(команда)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог