#!/bin/bash
# 定义处理选项的函数
handle_options() {
while getopts ":abc" opt; do
case ${opt} in
a ) echo "Option a was selected in script $1" ;;
b ) echo "Option b was selected in script $1" ;;
c ) echo "Option c was selected in script $1" ;;
\? ) echo "Invalid option: -$OPTARG in script $1" >&2 ;;
esac
done
shift $((OPTIND -1))
}
# 调用其他脚本,并传递选项
handle_options "script1.sh" "$@"
handle_options "script2.sh" "$@"
handle_options "script3.sh" "$@"
在这个示例中,我们将处理选项的逻辑封装到一个名为handle_options
的函数中。这样做可以使代码更加模块化和可复用。
在handle_options
函数中,我们使用$1
来表示当前脚本的名称,并将其传递给echo
语句,以便在输出中显示当前脚本的名称。
然后,我们在主脚本中调用handle_options
函数,并将当前脚本的名称作为参数传递给它。这样,我们可以在每个脚本中使用相同的选项处理逻辑,并在输出中区分不同的脚本。
请注意,在调用handle_options
函数时,我们使用"$@"
来传递命令行参数。这样可以确保在调用其他脚本时,它们可以正确地接收和处理命令行参数。
通过这种方式,我们可以轻松地处理多个具有相同选项的脚本,并使得脚本更加模块化和易于维护。
上一篇:bash flock一个输出文件