LINUX.ORG.RU

В файле просто написано «X» или «Y» или он содержит ещё что-то?

Если просто:

FILE="/var/run/myflag"
CONTENTS="`<"$FILE"`"
if [ "$CONTENTS" = "X" ]; then
        do_first
elif [ "$CONTENTS" = "Y" ]; then
        do_second
fi

Если может быть ещё что-то:

FILE="/var/run/myflag"
CONTENTS="`<"$FILE"`"
if [[ "$CONTENTS" =~ "X" ]]; then
        do_first
elif [[ "$CONTENTS" =~ "Y" ]]; then
        do_second
fi

Или так:

FILE="/var/run/myflag"
if grep "X" "$FILE"; then
        do_first
elif grep "Y" "$FILE"; then
        do_second
fi

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

быстрофикс

В третьем варианте не просто grep, а «grep -q».

gentoo_root ★★★★★
()
Ответ на: комментарий от Vekt

Так :

grep -i x <file_name> > /dev/null && echo x || echo y

Или так, более точно:

grep -i x <file_name> > /dev/null && echo x || ( grep -i y <file_name> > /dev/null && echo y ) 

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Хм, проще так, не очищать вывод grep на /dev/null

grep -i x <file_name> && echo x || ( grep -i y <file_name> && echo y )
Скобки круглые (), а не ажурные {}.

В первом посте ошибся.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

grep -i x … > /dev/null

grep -i -q школота

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.