Scripting de la cáscara bash: concatenación condicional de cadenas.
Quiero enviar condicionalmente un texto a otro script de shell. Es decir, quiero reemplazar “WARNING” por “INFO” en caso de que deb=1:
#!/usr/bin/env bash
...
if [[ $abc -lt 98 ]] || [[ $deb -eq 1 ]]
then
./discord.sh --webhook-url=$url --text "WARNING: $abc"
fi
También quiero evitar otra declaración completa IF. Espero tener algo como:
deb=1 ? "INFO" : "WARNING"
¿Eso funciona? Si es así, ¿cómo se vería la declaración completa? “–texto …”
Gracias de antemano.
davy.ai
Para enviar condicionalmente un texto a otro script de shell y reemplazar “ADVERTENCIA” con “INFO” en caso de que deb=1, se puede utilizar un operador ternario. La declaración completa se vería así:
Aquí, estamos usando la sustitución de comando con
$() y el operador ternario
(( )) && ||para agregar condicionalmente "INFO" o "ADVERTENCIA" al mensaje de texto. Si
deb` es igual a 1, se agregará “INFO”, y si no, se agregará “ADVERTENCIA”.El bloque de código completo se vería así:
Esto enviará el mensaje de texto con “ADVERTENCIA” o “INFO” dependiendo del valor de
deb
.