Я только что сошел с ума.Я пишу код в Windows, теперь мне нужно сделать один крошечный плагин в Linux, чтобы общаться с моим основным кодом.Я делаю код в bash, и в Windows все будет хорошо, но здесь, в Debian ... Я потратил 2 дня, чтобы выяснить, что происходит, и перепробовал почти все.
Это мой код:
#!/bin/bash
search1=`cat /home/qlik/skrypty/windows/kody.txt | grep -E '[0-2]'`
case $search1 in
[|1|])
echo "Error, need restart"
exit 2
;;
case $search1 in
[|2|])
echo "Warning with server process, waiting"
exit 1
;;
*)
echo "OK"
exit 0
;;
esac
Я также пробовал этот способ
#!/bin/bash
plik1='/home/qlik/skrypty/windows/kody.txt'
szukaj1=$( grep 1 $plik )
szukaj2=$( grep 2 $plik )
if [ $($szukaj1) -eq "1" ] ; then
echo "Error, need restart"
exit 2
elif [ $($szukaj2) -eq "2" ] ; then
echo "Server process warning, waiting"
exit 1
else
echo "OK"
exit 0
fi
и все виды различных способов.Все время у меня появляются ошибки:
integer expression expected
или
binary operator expected
или
[: -eq: unary operator expected
Я читал об этом, я думаю, что проблема заключается вс символами $ (...) / [...] / ...
/ '...' / [[...]] / $ ($ ...) / "..." и я действительно,действительно не знаю, что делать с моим кодом, я перепробовал почти все конфигурации.
Код прост -
- он читал file.txt
в file.txt есть 4 числа [например: 0 0 2 0]
, если все равны 0, тогда все в порядке,
если один из них равен 1, то это ошибка
, если один из них равен 2, то это информация о том, что процесс завершился неудачей.
- когда 1 или2 встречаются, код выхода должен совпадать с ошибкой в txt
Мне просто нужно распознать, какой номер находится в file.txt и показать другую информацию и код выхода.
Не могли бы вы мне помочь?