1. Utilice la fuente para leer el archivo de configuración.
Una forma común de leer variables globales en un archivo de configuración en un script de Shell es crear un archivo de configuración global (por ejemplo, llamado config .env
), escribir las variables en él y luego usar el código fuente en el script para leer y analizar. Aquí hay un ejemplo:
Ejemplo del archivo de configuración global config.env:
# global config file : config.env
#[mysql]
Mysql_Ip="192.168.10.99"
Mysql_Port=3306
#[NFS]
Nfs_Server_Ip="192.168.10.98"
NFS_Capacity="5G"
test_ip=192.168.10.97
Se utiliza un ejemplo del script read_conf.sh para leer el archivo de configuración config.env e imprimir las variables requeridas.
#!/bin/bash
# 读取配置文件
source ./config.env
# 输出全局变量的值
echo $Mysql_Ip
echo $Mysql_Port
echo $NFS_Capacity
echo $test_ip
El resultado de la ejecución del script read_conf.sh se puede ver y cumple con nuestras expectativas.
[root@others ]# sh read_conf.sh
192.168.10.99
3306
5G
192.168.10.97
El script lee correctamente el valor de la variable global de salida.
También se puede ver en la prueba test_ip que la dirección IP se puede leer correctamente con o sin comillas dobles.
2. Usa crudini para leer
El uso de crudini se describe en otro blog mío, aquí hay un enlace:
3. La diferencia entre los dos métodos.
crudini admite la especificación de la ruta del archivo de configuración y la segmentación de variables, y puede leer y modificar el archivo de configuración;
Source es un comando integrado del shell, que equivale a ejecutar otro archivo en el shell actual, analizar los comandos y variables del archivo y ejecutarlo en el shell actual. De esta forma, las variables definidas en el archivo se pueden utilizar en el shell actual, que no admite seccionamiento de variables y no puede modificar la configuración.
En general: crudini es flexible, profesional y altamente escalable; el método fuente es simple y directo, y no requiere la instalación de comandos adicionales. Los lectores pueden elegir según sus necesidades.