<div dir="ltr">Всем привет<div><br></div><div>Дилетантсткий вопрос, раньше просто наваял бы скрипт на баше да и не думал, но тут надо именно одной строкой</div><div><br></div><div>Есть такое выражение, вычисляет work_mem в зависимости от количества оперативки и макс коннекшин и прописывает в конфиг постгреса</div><div><br></div><div>вот такая команда под юзером postgres выполняется</div><div>psql -c "ALTER SYSTEM SET work_mem = $(awk '/MemTotal/ {print int(($2)*0.25/'$(psql -qtAX -c "SELECT current_setting('max_connections')")')}' /proc/meminfo)"<br></div><div><br></div><div>Но если из судо это делать<br>sudo -iu postgres psql -c "ALTER SYSTEM SET work_mem = $(awk '/MemTotal/ {print int(($2)*0.25/'$(psql -qtAX -c "SELECT current_setting('max_connections')")')}' /proc/meminfo)"<br><br>, то выдается ошибка, надо как эту команду экранировать, а я уже использовал одинарные кавычки и двойные в выражении и ума не приложу как это выражение экранировать.</div><div><br></div></div>