#!/bin/bash # env_setup.sh - 公共环境初始化脚本 # 用法: source templates/env_setup.sh [module2 ...] # # 参数: # $1 - conda 环境名 (如 chem) # $2 ... - 需要加载的 module 列表 CONDA_ENV="${1:?请指定 conda 环境名}" shift # 系统脚本 (bashrc, conda, module) 可能引用未初始化变量或返回非零退出码, # 临时关闭 errexit 和 nounset 避免报错 set +eu # 清理环境 module purge source ~/.bashrc # 激活 conda 环境 conda activate "$CONDA_ENV" # 加载指定 modules for mod in "$@"; do module load "$mod" done # 恢复 errexit 和 nounset set -eu # 加载数据集路径 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DEMO_DIR="$(dirname "$SCRIPT_DIR")" REPO_ROOT="$(cd "$DEMO_DIR/../.." && pwd)" if [ -f "$REPO_ROOT/env.sh" ]; then source "$REPO_ROOT/env.sh" fi