shell小结(4)
-------------------------------------------------------$0: 脚本中时,代表执行文件的名字,注意不包含参数$0: 命令行时,代表当前shell的名字$0: awk时,代表当前的一整行--------------------------------------------------------在Vim 中可以直接查看文件编码:set fileencoding :set fileencoding即可显示文件编码格式。----------------------------命令:chpasswd用来更改用户的密码,/usr/sbin/chpasswdecho "ads1222:ads1222" | chpasswdAIC2 /root# chpasswd p.txtp.txt的内容必须为: 用户名:密码-------------------------------------------------------向文件写内容:echo "LANGUAGE=CN" >> .profileecho "export LANGUAGE" >> .profileecho "JAVA_HOME=/usr/lib/java" >> .profileecho "export JAVA_HOME" >> .profile-------------------------------------------------------expr:表达式#!/bin/bashvar=abctypeset testV=`expr length $var`echo $testVtypeset len=`expr $testV - 1`#另一种更好的方法typeset len2=$((testV-1))echo $len-------------------------------------------------------awk命令://搜索匹配项awk '/a+/ {print $0}' awk.txt//从1开始,左包括,取2个字符echo 'abccdd' | awk '{print substr($0,3,2)}'显示匹配的最后的字符串 awk '{ print $NF}' filename echo "2.3.tar" | awk -F "." '{print $NF}' //竖排变横排 awk '{ printf("%s,",$1) }' 文件名 //横排变竖排awk -F= 和awk -F = 等价//NR代表当前是第几行cat /etc/passwd | awk 'FS=":" {print $1, NR}'awk 条件 {动作}, 这里的条件可以是模式////这里的-v用于给一个变量赋值 echo a=b | awk -F= -v name=xuxu '{ if ($1 == name) print $2}'-------------------------------------------------------sed://变量进行替换,变量必须为''括起来ftp1204@AIC2:~/.dd> echo xx.yy | sed 's/xx/$B/g'$B.yyftp1204@AIC2:~/.dd> echo xx.yy | sed 's/xx/'$B'/g'bb.yy------------------------------------------------------bash中只能函数才支持returnksh则任意处都可以使用-------------------------------------------------------?