Shell脚本笔记

来源:互联网 发布:油画淘宝详情页模版 编辑:程序博客网 时间:2024/06/05 11:58


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地址