问答详情
源自:2-3 bash环境变量

为什么我的set命令出现的全是各种函数代码,和env的那种不一样?

为什么我的set命令出现的全是各种函数代码,和env的那种不一样?

_yum_helper () 

    local IFS='

';

    COMPREPLY+=($(

        /usr/share/yum-cli/completion-helper.py -d 0 -C "$@" 2>/dev/null ))

}

_yum_list () 

    [[ $2 == */* || $2 == [.~-]* ]] && return;

    _yum_helper list "$@"

}

_yum_plugins () 

    local val;

    [[ $1 -eq 1 ]] && val='\(1\|yes\|true\|on\)' || val='\(0\|no\|false\|off\)';

    COMPREPLY+=($( compgen -W '$( command grep -il "^\s*enabled\s*=\s*$val" \

        /etc/yum/pluginconf.d/*.conf 2>/dev/null \

        | sed -ne "s|^.*/\([^/]\{1,\}\)\.conf$|\1|p" )' -- "$2" ))

}

_yum_transactions () 

    COMPREPLY+=($( compgen -W "$( $yum -d 0 -C history 2>/dev/null |         sed -ne 's/^[[:space:]]*\([0-9]\{1,\}\).*/\1/p' )" -- "$cur" ))

}

dequote () 

    eval printf %s "$1" 2> /dev/null

}

quote () 

    local quoted=${1//\'/\'\\\'\'};

    printf "'%s'" "$quoted"

}

quote_readline () 

    local quoted;

    _quote_readline_by_ref "$1" ret;

    printf %s "$ret"

}


提问者:大草同学 2016-05-27 10:54

个回答

  • 大草同学
    2016-05-27 11:06:24

    米刀文已经给出了一种解释:“因为set的输出很长,可以使用set | more命令查看”。出来的东西,前面的内容一样,后面的就是这些函数代码了。可能是内核版本的关系。