首页 > 代码库 > linux命令:脚本编程知识点${#VARNAME} ${VARNAME#* } . FILENAME 读取文档内容
linux命令:脚本编程知识点${#VARNAME} ${VARNAME#* } . FILENAME 读取文档内容
脚本编程知识点:
* FILE=/usr/local/src
TEST=${FILE#*/}:$TEST结果为usr/local/src, 以/为关键字,删除从左边数第一个/及关键字/左边的所有字符串。
DEST=${FILE##*/}:$DEST结果为src,以/为关键字,删除最后一个关键字/及关键字/左边的所有字符串。 从左往右时,*号需在关键字左边
DOTEST=${FILE%/*}:$DOTEST结果为/usr/local,以/为关键字,删除从右边数第一个/及关键字/右边的所有字符串。
DODEST=${FILE%%/*}:$DODEST结果为空,以/为关键字,删除从右边数最后一个/及关键字/右边的所有字符串。 从右往左时,*号需在关键字右边
1、如何获取变量中字符的长度:
${#VARNAME} VARNAME变量名
Usage:
[root@localhost ~]# VARNAME1=‘TESTING SERVER‘
[root@localhost ~]# echo "${#VARNAME1}"
14 统计变量VARNAME1的字符长度,空格也占字符长度
2、如何获取屏幕显示大小所占多少行及每行字符总长度
stty -F /dev/console size
[root@localhost ~]# stty -F /dev/console size
25 80 25表示行数,80表示每行字符总长度
[root@localhost ~]# A=`stty -F /dev/console size`
[root@localhost ~]# echo ${A#* } 以空格为关键字,删除第一个空格及其左边的字符
80
. /etc/sysconfig/network-scripts/ifcfg-eth0 把ifcfg-eth0文件中的内容导入到当前文档中
Usage:
[root@test init.d]# vim /mnt/sysroot/etc/rc.d/init.d/network
#!/bin/bash
#
# chkconfig:35 09 90
# description: network service
prog=network
. /etc/rc.d/init.d/functions 把/etc/rc.d/init/d/functions文本中的内容添加至该文档中。
CONF=/etc/sysconfig/network-scripts/ifcfg-eth0
. $CONF
NETMASK=22
start() {
ifconfig eth0 $IPADDR/$NETMASK up
[ -z $GATEWAY ] && route add default gw $GATEWAY
return 0
}
stop() {
ifconfig eth0 down
}
status() {
ifconfig eth0
}
usage() {
echo "$prog: {start|stop|restart|status|"
}
case $1 in
start)
start
success "Config network eth0." ;;
stop)
stop
success "Stop network card eth0." ;;
restart)
stop
start
success "Restart network card eth0" ;;
status)
status ;;
*)
usage
exit 1 ;;
esac
本文出自 “学linux历程” 博客,请务必保留此出处http://woyaoxuelinux.blog.51cto.com/5663865/1882485
linux命令:脚本编程知识点${#VARNAME} ${VARNAME#* } . FILENAME 读取文档内容