postgresql 尝试在bash中为执行时输出数字的命令创建循环

bjp0bcyl  于 2023-05-17  发布在  PostgreSQL
关注(0)|答案(1)|浏览(123)

我一直在尝试在bash中创建一个循环,以匹配命令输出并退出到另一个函数的数字。
命令:

psql -d ct_fleet -t -c "select CASE when exists (select * from pg_stat_activity  where query like '%generate_trip_redo%' and state= 'idle' ) THEN 1 ELSE 255 END;"

循环需要执行命令,然后在返回255时继续执行下一个函数
我尝试了多种变化

while true ; do command;
if [ -eq 255 ]; then function
else sleep 20
fi 
done

然而,这是第一个脚本,我真的很专注于建立如此非常新的脚本写作
我尝试了多种变化

while true ; do command;
if [ -eq 255 ]; then function
else sleep 20
fi 
done

循环需要执行命令,然后在返回255时继续执行下一个函数

f2uvfpb9

f2uvfpb91#

如果要在-eq 255上进行测试,则需要指定要在该值上测试的内容。例如,变量a

if [ $a -eq 255 ] ; then

-eq是二元运算符,这意味着它需要2个操作数。
那么,如何在变量中获取命令的输出呢?这是用

variable=$(command)

有了这些,你的循环将类似于

while true ; do
    cmdout=$(command)
    if [ $cmdout -eq 255 ] ; then
        function
    else
        sleep 20
    fi 
done

相关问题