Cuando nuestro servidor aparece, necesitamos verificar un archivo para ver cómo está configurado el servidor.
Queremos buscar la siguiente cadena dentro de nuestro archivo /etc/aws/hosts.conf:
MYSQL_ROLE=master
Luego, queremos probar si esa cadena existe y usar una instrucción if / else para ejecutar una de las dos opciones dependiendo de si la cadena existe o no.
¿Cuál es la sintaxis de BASH para la instrucción if?
if [ ????? ]; then
#do one thing
else
#do another thing
fi

iftoma un comando y verifica su valor de retorno.[Es solo un comando.fuente
Tenga en cuenta que, por
PIPEser cualquier comando o secuencia de comandos, entonces:Para el registro,
[ expr ]es una concha † abreviada paratest expr.Dado que
grepdevuelve el estado 0 en caso de una coincidencia, y el estado distinto de cero en caso de que no haya coincidencias, puede usar:Tenga en cuenta el uso del
-lcual solo le importa que el archivo tenga al menos una coincidencia (de modo quegrepregrese tan pronto como encuentre una coincidencia, sin continuar analizando innecesariamente el archivo de entrada).† en algunas plataformas
[ expr ]no es una orden interna, sino un ejecutable real/bin/[(cuyo argumento última será]), por lo que[ expr ]debe contener espacios en blanco alrededor de los corchetes, y por qué debe ser seguido por uno de los separadores de lista de comandos (;,&&,||,|,&, nueva línea)fuente
-les redundante,grepregresa inmediatamente al encontrar una coincidencia con-qsolo usa bash
fuente