我刚刚遇到shellfire,目前还有其他POSIX模块框架在使用吗?
答案 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
有很多充分的理由。