如何编写Bash脚本自动提取pod目录名作为变量生成虚拟机启动配置路径
动态识别POD目录的vMX启动脚本实现方案
完整可运行脚本
#!/bin/bash ## 激活Python虚拟环境 source /home/vMX-ENV/bin/activate # 定义config根目录绝对路径 CONFIG_ROOT="/home/vMX-ENV/vMX-21.1R1/config" # 遍历所有pod开头的目录,自动过滤samples等无关目录 for pod_folder in "${CONFIG_ROOT}"/pod*/ do # 提取纯POD目录名(如pod8、pod10) pod_id=$(basename "${pod_folder}") target_conf="config/${pod_id}/vmx1.conf" # 前置校验配置文件是否存在,避免启动异常 if [ -f "${CONFIG_ROOT}/${pod_id}/vmx1.conf" ]; then echo "启动 ${pod_id} 实例..." ./vmx.sh -lv --start --cfg "${target_conf}" else echo "跳过 ${pod_id}: 未找到对应vmx1.conf配置文件" fi done
说明
- 脚本通过
pod*/通配符匹配目录,自动过滤samples、全局conf文件等无关内容,无需手动维护POD列表 - 内置配置文件存在性校验,避免因配置文件缺失导致的启动报错
- 如果你的POD目录是大写
POD开头命名,将通配符修改为"${CONFIG_ROOT}"/POD*/即可 - 如需支持任意路径执行脚本,可将
./vmx.sh替换为vmx.sh的绝对路径
内容的提问来源于stack exchange,提问作者nickcrv06
相关产品推荐
相关产品推荐

