как оценивать число между диапазоном чисел с использованием различных переменных в bash

Я нашел эту страницу на официальном сайте Postgresql, подробно :

Если вы хотите хранить конфигурационные файлы в другом месте, а не в каталоге данных. каталог, опция командной строки postgres -D или переменная среды PGDATA должны указывать на каталог, содержащий конфигурационные файлы, а параметр data_directory должен быть установлен в postgresql.conf (или в командной строке), чтобы показать, где на самом деле находится каталог данных. расположен. Обратите внимание, что data_directory переопределяет -D и PGDATA в отношении местоположения каталога данных, но не местоположения конфигурационных файлов.

При желании вы можете указать имена конфигурационных файлов и их местоположения по отдельности с помощью параметров config_file, hba_file и/или ident_file. config_file может быть указан только в командной строке postgres в командной строке, но остальные параметры можно задать в основном конфигурационном файла. Если все три параметра плюс data_directory заданы явно, то нет необходимости указывать -D или PGDATA.

При установке любого из этих параметров относительный путь будет интерпретироваться относительно каталога, в котором запущен postgres запущен.

Что выдает echo $PGDATA на вашем хосте?

0
09.03.2019, 17:02
1 ответ

Это не отвечает на весь ваш вопрос, но обратите внимание, что bash не может выполнять какие-либо арифметические операции с плавающей запятой:

$ if [ 1234 -ge 1115.1 -a 1234 -le 1858.5 ]; then echo ok; else echo nope; fi
bash: [: 1115.1: integer expression expected
nope

Сравнения можно поручить bc:

check() {
   local result=$(echo "0.9*$2 <= $1 && $1 <= 1.5*$2" | bc)
   (( result == 1 )) && echo OK || echo NO
}
check 1234 1239    # => OK
check 1234 12390   # => NO
0
28.01.2020, 04:20

Теги

Похожие вопросы