POSIX shell模块框架

时间:2015-07-16 13:09:01

标签: shell sh

我刚刚遇到shellfire,目前还有其他POSIX模块框架在使用吗?

1 个答案:

答案 0 :(得分:0)

有一些bash模块系统,请参阅此Ubuntu forum post

通过针对手动编码模块的建议方案,将具有某种子例程后缀(_subr.sub等)的模块放置在供应商子目录中。 lib [编辑:反思或许libdata],用相对路径读取系统目录:

#!/bin/sh
set -e  # exit on error

# boilerplate
cd "$(dirname "$0")"
. ../share/vendor/install_dir.conf

# includes
. "$LIB_DIR"/vendor/shared_subr

# code...

'install_dir.conf':

ETC_DIR=/etc
BIN_DIR=/usr/local/bin
SBIN_DIR=/usr/local/sbin
LIB_DIR=/usr/local/lib
LIBEXEC_DIR=/usr/local/libexec
LIBDATA_DIR=/usr/local/libdata

'shared_subr':

test -n "$__SHARED_SUBR__" || {
__SHARED_SUBR__=1

vendor__sub_do_something() {
    typeset _local_var _another_local_var

    # code...

    return 0
}

}

虽然使用shellfire有很多充分的理由。