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

📄 shared

📁 pcmcia source code
💻
字号:
## shared 1.30 2002/05/12 18:07:26 (David Hinds)#usage (){    echo "usage: $0 [action] [device name]"    echo "  actions: start check stop suspend resume"    exit 1}is_true (){    [ "$1" = "y" -o "$1" = "Y" -o "$1" = "yes" -o "$1" = "YES" ]}do_fuser (){    is_true $NO_FUSER && return 1    fuser $*}do_eval () { eval $* ; }match () { case $1 in $2) return 0; ;; *) return 1; ;; esac ; }log (){    if [ -n "$VERBOSE" ] ; then	echo "$*" ; eval $*    else	# if command fails, print the command followed by its output	RET=0	LOG=/var/run/cardmgr.out	do_eval $* >$LOG 2>&1	if [ $? -ne 0 ] ; then RET=$? ; echo "$*" ; fi	cat $LOG 1>&2 ; rm -f $LOG	return $RET    fi}add_blkdev (){    # usage: add_blkdev [device]    if [ -n "$LINK" ] ; then	if [ -L $LINK ] ; then rm $LINK ; fi	ln -s $1 $LINK || return 1    fi    if is_true $DO_FSTAB ; then	echo "$1 $MOUNTPT ${FSTYPE:-auto} ${OPTS:-defaults} 0 0" >> /etc/fstab    fi    if is_true $DO_FSCK ; then	log /sbin/fsck -Ta $1	if [ $? -gt 1 ] ; then return 1 ; fi    fi    if is_true $DO_MOUNT ; then	O=${OPTS:+-o $OPTS} ; FS=${FSTYPE:+-t $FSTYPE}	log mount -v $O $FS $1 $MOUNTPT || return 1    fi    return 0}add_parts (){    # usage: add_parts [address] [parts]    RET=0    for PART in ${2:-""} ; do	# Get mount options for particular partitions	if [ -n "$PART" ] ; then	    ADDRESS="$1,$PART"	    unset INFO DO_FSTAB DO_FSCK DO_MOUNT LINK	    . $0.opts	    [ -n "$VERBOSE" -a -n "$INFO" ] && echo "$INFO"	fi	add_blkdev /dev/$DEVICE$PART || RET=1    done    return $RET}rm_blkdev (){    # usage: rm_blkdev [device]    test -b $1 || return 1    do_fuser -k -m $1 > /dev/null    if mount | grep -q "$1 on" ; then	log umount -v $1 || return 1    fi    if is_true $DO_FSTAB ; then	grep -v $1 /etc/fstab > /etc/fstab.N	mv /etc/fstab.N /etc/fstab    fi    if [ -L "$LINK" ] ; then rm $LINK ; fi}rm_parts (){    # usage: rm_parts [address] [parts]    BLK=/dev/$DEVICE    test -b $BLK || return 1    for PART in ${2:-""} ; do	if [ -n "$PART" ] ; then	    ADDRESS="$1,$PART"	    unset DO_FSTAB DO_FSCK DO_MOUNT	    . $0.opts	fi	if is_true $DO_FSTAB ; then	    grep -v "$BLK$PART " /etc/fstab > /etc/fstab.N	    mv /etc/fstab.N /etc/fstab	fi    done    do_fuser -k -m /dev/${DEVICE}* > /dev/null    LIST=`mount | sed -ne "s+^\($BLK[0-9]*\) .*+\1+p"`    if [ -n "$LIST" ] ; then	for MT in $LIST ; do	    log umount -v $MT || return 1	done    fi}chk_simple (){    # usage: chk_simple [new-address]    ADDRESS=""    OLD=`set | grep -v '^OLD=' | md5sum`    ADDRESS="$1"    . $0.opts    ADDRESS=""    NEW=`set | grep -v '^OLD=' | md5sum`    [ "$OLD" = "$NEW" ]}chk_parts (){    # usage: chk_parts [new-address]    OLD_ADDR="$ADDRESS"    chk_simple $1 || return 1    if [ -z "$PARTS" ] ; then return 0 ; fi    for PART in $PARTS ; do	ADDRESS="$OLD_ADDR,$PART"	. $0.opts	chk_simple "$1,$PART" || return 1    done}grep_stab (){    # this should be cheaper than invoking "grep"    local CLASS DEV    while read SOCKET CLASS DRIVER INSTANCE DEV MAJOR MINOR ; do	if [ "$SOCKET" != "Socket" -a "$1" = "$DEV" ] ; then return 0 ; fi    done    return 1}get_info (){    if [ -d /var/lib/pcmcia ] ; then	STAB=/var/lib/pcmcia/stab    else	STAB=/var/run/stab    fi    if [ -f /var/lib/pcmcia/scheme ] ; then	SCHEME=`cat /var/lib/pcmcia/scheme`    elif [ -f /var/run/pcmcia-scheme ] ; then	SCHEME=`cat /var/run/pcmcia-scheme`    fi	    if [ -z "$SCHEME" ] ; then SCHEME="default" ; fi    grep_stab $1 < $STAB || usage}# A bit of stuff to do right away...if [ $# -lt 2 ] ; then usage ; fiACTION=$1 ; DEVICE=$2 ; NEW_SCHEME=$3

⌨️ 快捷键说明

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