1、shell脚本开始
shell脚本必以:#!/bin/sh开头,只有开头的#!/bin/sh不是注释,其他#开头的都是注释
2、变量声明
a="123"或者b=5
3、变量使用时候,需要用“$”为前缀
$a/$b
4、在字符串里面使用变量
需要用$后面的变量名用大括号"\{\}"大括号括起来,当然不用大括号括起来也是可以的****echo "test ${a}"或者 echo "test$b"
5、输出
a)输出到控制台:echo "helloworld"
b)输出到文件: echo "helloworld" > "hello.txt",echo -n "hello"表示不在hello后面追加换行符,echo "helloworld" >> "hello.txt"表示在hello.txt末尾追加内容,如果加-n则不在追加后面加换行符
6、输入到变量
a)从控制台:read a 脚本执行到这来会等待用户输入,直到用户输入完成
b)文件输入:read a < "test.txt",会将test.txt中内容输入到a
7、整数值计算,存在问题,在centos6.5不能通过下面的验证
a) ((c=$a+$b))
b)c=`expr $a + $b`:如果$a和$b之间没有空格,表示字符串连接那么相当于:c="${a}+${b}",有空格表示数值相加,减乘除同理
8、条件判断
a)单if,判断的条件变量间需要用空格隔开,fi表示条件结束
if [ ${a} = "+" ]; then
#tudo
b)if ...;then ... else if [ $a = '-' ]; then
#do
else
#do
fi
c)if...;thenelif...then
if [ $a = '-' ]; then
#do
elif [${a} = '*'];then
#do
else
#do
fi
9、退出
exit 0 ;0表示正常退出
10、权限设置
chmod[拥有者rwx][所在组rwx][其他rwx],其中r=4,w=2,x=1
11、cat使用
a)显示文件内容:cat file_name
b)显示文件内容并在行首加序号:cat -n filename
c)在行首添加序号,空行不加序号:cat -b filename
12、pwd命令
获取当前目录
13、sed awk grep使用
a)sed 文本编辑工具,支持正则表达式
b)awk 文本分析
c)grep 文本查找,支持正则表达式
ifconfig | grep inet | awk '{print $2}' | tr -d "addr:" | sed -n '1p'
获取ip信息,取出有inet的行|取inet后面第二个参数,删除“addr:”,取第一行
结果:取本机IP地址