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

📄 libtysp.sh

📁 Berkely的学生写的
💻 SH
字号:
#!/bin/sh# $Id: libTYSP.sh,v 1.1 1999/01/05 07:24:50 ranga Exp $################################################# Name: printERROR# Desc: prints an message to STDERR# Args: $@ -> message to print################################################printERROR() {     echo "ERROR:" $@ >&2 }################################################# Name: printWARNING# Desc: prints an message to STDERR# Args: $@ -> message to print################################################printWARNING() {     echo "WARNING:" $@ >&2}################################################# Name: printUSAGE# Desc: prints a USAGE message and then exits# Args: $@ -> message to print################################################printUSAGE() {    echo "USAGE:" $@    exit}################################################# Name: promptYESNO# Desc: ask a yes/no question# Args: $1 -> The prompt#       $2 -> The default answer (optional)# Vars: YESNO -> set to the users response#                y for yes, n for no################################################promptYESNO() {    if [ $# -lt 1 ] ; then 	printERROR "Insufficient Arguments."	return 1    fi    DEF_ARG=""    YESNO=""    case "$2" in 	[yY]|[yY][eE][sS]) 	    DEF_ARG=y ;;	[nN]|[nN][oO]) 	    DEF_ARG=n ;;    esac    while :    do	printf "$1 (y/n)? "	if [ -n "$DEF_ARG" ] ; then	    printf "[$DEF_ARG] "	fi	read YESNO	if [ -z "$YESNO" ] ; then 	    YESNO="$DEF_ARG"	fi	case "$YESNO" in 	    [yY]|[yY][eE][sS]) 		YESNO=y ; break ;;	    [nN]|[nN][oO]) 		YESNO=n ; break ;;	    *)		YESNO="" ;;	esac    done    export YESNO    unset DEF_ARG    return 0}################################################# Name: promptRESPONSE# Desc: ask a question# Args: $1 -> The prompt #       $2 -> The default answer (optional)# Vars: RESPONSE -> set to the users response################################################promptRESPONSE() {        if [ $# -lt 1 ] ; then	printERROR "Insufficient Arguments."	return 1    fi    RESPONSE=""    DEF_ARG="$2"    while :    do	printf "$1 ? "	if [ -n "$DEF_ARG" -a "$DEF_ARG" != "-" ] ; then 	    printf "[$DEF_ARG] " 	fi		read RESPONSE		if [ -n "$RESPONSE" ] ; then	    break	elif [ -z "$RESPONSE" -a -n "$DEF_ARG" ] ; then	    RESPONSE="$DEF_ARG"	    if [ "$RESPONSE" = "-" ] ; then RESPONSE="" ; fi	    break	fi    done    export RESPONSE    unset DEF_ARG    return 0}################################################# Name: getSpaceFree# Desc: output the space avail for a directory# Args: $1 -> The directory to check################################################getSpaceFree() {    if [ $# -lt 1 ] ; then	printERROR "Insufficient Arguments."	return 1    fi    df -k "$1" | awk 'NR != 1 { print $4 ; }'}################################################# Name: isSpaceAvailable# Desc: returns true (0) if space available# Args: $1 -> The directory to check#       $2 -> The amount of space to check for#       $3 -> The units for $2 (optional)#                 k for kilobytes#                 m for megabytes #                 g for gigabytes################################################isSpaceAvailable() {    if [ $# -lt 2 ] ; then	printERROR "Insufficient Arguments."	return 1    fi    if [ ! -d "$1" ] ; then	printERROR "$1 is not a directory."	return 1    fi    SPACE_MIN="$2"    case "$3" in        [mM]|[mM][bB])            SPACE_MIN=`echo "$SPACE_MIN * 1024" | bc` ;;	[gG]|[gG][bB])            SPACE_MIN=`echo "$SPACE_MIN * 1024 * 1024" | bc` ;;    esac	    if [ `getSpaceFree "$1"` -gt "$SPACE_MIN" ] ; then	return 0    fi    return 1}################################################# Name: getSpaceUsed# Desc: output the space used for a directory# Args: $1 -> The directory to check################################################getSpaceUsed() {    if [ $# -lt 1 ] ; then	printERROR "Insufficient Arguments."	return 1    fi    if [ ! -d "$1" ] ; then	printERROR "$1 is not a directory."	return 1    fi    du -sk "$1" | awk '{ print $1 ; }'}################################################# Name: getPID# Desc: outputs a list of process id matching $1# Args: $1 -> the command name to look for################################################getPID() {    if [ $# -lt 1 ] ; then	printERROR "Insufficient Arguments."        return 1    fi    PSOPTS="-ef"    /bin/ps $PSOPTS | grep "$1" | grep -v grep | awk '{ print $2; }'}################################################# Name: getUID# Desc: outputs a numeric user id# Args: $1 -> a user name (optional)################################################getUID() {    id $1 | sed -e 's/(.*$//' -e 's/^uid=//'}################################################# Name: isUserRoot# Desc: returns true (0) if the users UID=0# Args: $1 -> a user name (optional)################################################isUserRoot() {    if [ "`getUID $1`" -eq 0 ] ; then 	return 0    fi    return 1}################################################# Name: toLower# Desc: changes an input string to lower case# Args: $@ -> string to change################################################toLower() {    echo $@ | tr '[A-Z]' '[a-z]' }################################################# Name: toUpper# Desc: changes an input string to upper case# Args: $@ -> string to change################################################toUpper() {    echo $@ | tr '[a-z]' '[A-Z]' }

⌨️ 快捷键说明

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