⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.hotplug

📁 嵌入式linux中的usb热拔插脚本,可以实现u盘的热拔插功能
💻 HOTPLUG
字号:
#!/bin/sh## This version of /sbin/hotplug should works on most GNU/Linux systems# using Linux 2.2.18+ or 2.4.* kernels.  On 2.2.*, only USB has such# hotplugging support; on 2.4.*, so do PCI/Cardbus and network interfaces.## In 2.5, both classes and busses can report hotplug events as part# of the driver model core functionality.  Plus, /sys/$DEVPATH is# available for scripting, as well as the $ACTION being reported.## The kernel HOTPLUG configuration option needs to be enabled, and most# device drivers will be compiled for MODULES (make allmod).### HISTORY:## 21-Nov-2002	Optionally log events; 2.5 notes (db)# 26-Feb-2001	Cleanup (Gioele Barabucci)# 14-Feb-2001	Better diagnostics: logging, agent list (contributors)# 04-Jan-2001	First "New" version, which only delegates to#		specialized hotplug agents.## $Id: default.hotplug,v 1.4 2004/09/20 21:40:27 kroah Exp $#exec < /dev/nulltest -t 1 || exec > /dev/nulltest -t 2 || exec 2>&1cd /etc/hotplug. ./hotplug.functions# DEBUG=yes export DEBUGdebug_mesg "arguments ($*) env (`env`)"## Only one required argument:  event type type being dispatched.# Examples:  usb, pci, isapnp, net, ieee1394, printer, disk,# parport, input, ide, cpu, system, ... with 2.5, lots more.# Other parameters are passed in the environment, or positionally# through argv.# if [ $# -lt 1 ] || [ "$1" = "help" ] || [ "$1" = "--help" ]; then    if [ -t ]; then	echo "Usage: $0 AgentName [AgentArguments]"	AGENTS=""	for AGENT in /etc/hotplug/*.agent ; do	    TYPE=`basename $AGENT | sed s/.agent//`	    if [ -x $AGENT ]; then		AGENTS="$AGENTS $TYPE"	    else		AGENTS="$AGENTS ($TYPE)"	    fi	done	echo "AgentName values on this system: $AGENTS"     else	mesg "illegal usage $*"    fi    exit 1fi## Delegate event handling:#   /sbin/hotplug FOO ..args.. ==> /etc/hotplug/FOO.agent ..args..#AGENT=/etc/hotplug/$1.agentif [ -x $AGENT ]; then    shift    if [ "$DEBUG" != "" ]; then	mesg "invoke $AGENT ($@)"    fi    exec $AGENT "$@"    mesg "couldn't exec $AGENT"    exit 1fidebug_mesg "no runnable $AGENT is installed"## Optionally log events we don't handle directly.# Some program or person has asked for $LOG data.#LOG=/var/log/hotplug/$1.eventsif [ ! -w $LOG ]; then    # catch-all for unclaimed events    LOG=/var/log/hotplug/eventsfiif [ -w $LOG ]; then    # record all basic event data    HOTPLUG_TYPE=$1    shift    HOTPLUG_ARGS="$*"    export HOTPLUG_ARGS HOTPLUG_TYPE    # use to tempfile to buffer events    # FIXME buffering acts oddly when logging to pipes,    # it'd be better not to need a tempfile    TMP=$(mktemp /var/log/hotplug/e-$HOTPLUG_TYPE-XXXXXXXX)    if [ $? -ne 0 ]; then	mesg "couldn't create tempfile for logging"	exit 1    fi    debug_mesg "log to $LOG ($HOTPLUG_TYPE $HOTPLUG_ARGS)"    log_to_stdout > $TMP    cat $TMP >> $LOG    rm -f $TMP    exit 0fiexit 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -