✏️ 编辑:scl_source
路径:
/usr/bin/scl_source
大小:1.88 KB · 修改:2021-07-27 15:14:26 · 权限:0755 · 只读(保存会失败)
← 返回目录
👁 查看
⬇ 下载
#!/usr/bin/bash _scl_source_help="Usage: source scl_source <action> [<collection> ...] Don't use this script outside of SCL scriptlets! Options: -h, --help display this help and exit" if [ $# -eq 0 -o "$1" = "-h" -o "$1" = "--help" ]; then echo "$_scl_source_help" else # main operation mode if [ -z "$_recursion" ]; then _recursion="false" fi if [ -z "$_scl_scriptlet_name" ]; then # The only allowed action in the case of recursion is the same # as was the original _scl_scriptlet_name=$1 fi shift 1 if [ -z "$_scl_dir" ]; then # No need to re-define the directory twice _scl_dir=/etc/scl/conf if [ ! -e $_scl_dir ]; then _scl_dir=/etc/scl/prefixes fi fi for arg in "$@"; do _scl_prefix_file=$_scl_dir/$arg _scl_prefix=`cat "$_scl_prefix_file" 2> /dev/null` if [ $? -ne 0 ]; then echo >&2 "Can't read $_scl_prefix_file, $arg is probably not installed." return 1 fi # First check if the collection is already in the list # of collections to be enabled for scl in "${_scls[@]}"; do if [ "$arg" == "$scl" ]; then continue 2 fi done # Now check if the collection isn't already enabled if ! /usr/bin/scl_enabled "$arg" > /dev/null 2> /dev/null; then _scls+=( "$arg" ) _scl_prefixes+=( "$_scl_prefix" ) fi; done if [ $_recursion == "false" ]; then _i=0 _recursion="true" while [ $_i -lt ${#_scls[@]} ]; do _scl_scriptlet_path="${_scl_prefixes[$_i]}/${_scls[$_i]}/${_scl_scriptlet_name}" source "$_scl_scriptlet_path" if [ $? -ne 0 ]; then echo >&2 "Can't source $_scl_scriptlet_name, skipping." else export X_SCLS="${_scls[$_i]} $X_SCLS" fi; _i=$(( _i + 1 )) done _scls=() _scl_prefixes=() _scl_scriptlet_name="" _recursion="false" fi fi # main operation mode
💾 保存
取消
保存为 UTF-8,换行统一为 LF