在shell脚本include的shell函数中出现的特殊符号NO_EXPORT:+-n什么意思

config_get []

config_get

config_get() {
case "$3" in
"") eval echo "\${CONFIG_${1}_${2}:-\${4}}";;
*) eval export ${NO_EXPORT:+-n} -- "${1}=\${CONFIG_${2}_${3}:-\${4}}";;
esac
}

CONFIG_${1}_${2}:-\${4} :- 是什么意思
NO_EXPORT:+-n :+ 是什么意思
这个是functions.sh文件的函数
这个函数的功能只知道是去/etc/config目录下取ucic/config的配置信息,但是这两句话实在是看不懂

${1}这应该是第2个参数到意思吧,NO_EXPORT:+-n ,这不明所以