ЕСЛИ | Условие ELSE, чтобы проверить, показывает ли вывод запроса базы данных Oracle какой-либо результат или NULL

Fixed!

Я был так сильно сосредоточен на raspbian, думая, что проблема должна быть там, и обнаружил, что мой интернет-маршрутизатор (шлюз) на 192.168.81.1 не перенаправляет 10.0.0.0 обратно на 192.168.81.3 (raspbian). Поэтому я вручную добавил маршрут в 192.168.81.1 и исправил!

Похоже, что моя малина была успешно настроена, и я был настолько слеп, глядя на нее, что забыл настроить свой главный шлюз (тот, который выходит в интернет).

Спасибо @roaima за то, что открыл мне глаза!

0
28.05.2018, 04:40
1 ответ

Es posible que desee hacer algo como esto:

db_connect="user/pass@db"

output=$(
    sqlplus -s "$db_connect" <<'END' | sed '/^$/d'
        set heading off
        select value from v$parameter where name='spfile';
END
)

La opción -sy el comando set heading offsqlplus están destinados a minimizar los resultados extraños. sed '/^$/d'es para eliminar líneas vacías. El resultado en $outputdebe ser una cadena vacía (para un resultado nulo )o la línea (s )de la salida de la consulta.

Tenga en cuenta que el terminador ENDheredoc no debe tener ningún otro carácter en esa línea. Es por eso que no está sangrado como las otras líneas.

Entonces puedes hacer:

if [[ -n "$output" ]]; then
    stuff if there is output
else
    stuff if there is null output
fi
1
28.01.2020, 02:43

Теги

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