从其他shell脚本更改变量的值

6tdlim6h  于 2022-12-23  发布在  Shell
关注(0)|答案(1)|浏览(109)

我有一个shell脚本,里面有一个on/off开关。我对www.example.com进行了编程Housekeeping.sh,使其在值为1时执行这一行代码,在值为0时不执行这一行代码。Housekeeping.sh:

ARCHIVE_SWITCH=1
if [[ $ARCHIVE_SWITCH -eq 1 ]]; then
    sqlplus ${BPS_SCHEMA}/${DB_PASSWORD}@${ORACLE_SID} @${BATCH_HOME}/sql/switch_archive.sql
fi

现在我想创建另一个shell脚本文件,在每次执行该脚本时,我将自动将变量ARCHIVE_SWITCH更改为0。是否有其他方法可以从另一个shell脚本文件中手动更改变量ARCHIVE_SWITCH的值?

ars1skjm

ars1skjm1#

我会在脚本中使用一个选项:

bash housekeeping.sh      # default is off
bash housekeeping.sh -a   # archive switch is on
#!/usr/bin/env bash

archive_switch=0

while getopts :a opt; do
    case $opt
        a) archive_switch=1 ;;
        *) echo "unknown option -$opt" >&2 ;;
    esac
done
shift $((OPTIND-1))

if ((archive_switch)); then
    sqlplus ...
fi

相关问题