function:功能
结构化编程
定义一个函数:先定义后调用
function FUNCNAME {
command
}
FUNCNAME() {
command
}
自定义执行状态返回值:
return #
local VAR 定义变量只在函数本身有效
函数也可以接受参数,即可以向函数传递参数
${filename#*word}去掉字符串中以word为节点第一个字符串
${filename##*word}
${filename%word*}去掉字符串中以word为节点第一个字符串
${filename%%word*}
例:下方是添加命令的一个脚本
#!/bin/bash
HANSHU() {
if which $1 &> /dev/null; then
COMMAND=`which $1 | grep -o "/.*bin.*"`
else
return 11
fi
CMDPATH=${COMMAND%/*}
[ -d /mnt/sysroot/$CMDPATH ] || mkdir -p /mnt/sysroot/$CMDPATH
[ ! -f /mnt/sysroot/$COMMAND ] $$ cp $COMMAND /mnt/sysroot/$CMDPATH || return 12
A=`ldd $COMMAND | grep '/lib' | cut -d'(' -f1 | cut -d' ' -f3`
LINE=`$A | wc -l`
for n in $LINE; do
B=`head $n $A | tail -1`
CMDPATH1=${B%/*}
[ -d /mnt/sysroot/$CMDPATH1 ] || mkdir -p /mnt/sysroot/$CMDPATH1
~ [ ! -f /mnt/sysroot/$B ] && cp $B /mnt/sysroot/$CMDPATH1
let $n++
done
}
while :; do
read -p "a command[q to quit]" CMD
if [ "$CMD" != 'q' ]; then
HANSHU $CMD
RETVAL=$?
[ $RETVAL -eq 11 ] && echo "no $CMD"
[ $RETVAL -eq 12 ] && echo "$COMMAND had"
else
exit 0
fi
done

















