shell脚本小练习

1.vim var.sh新建一个var.sh文件,添加以下代码,其中符号#!用来告诉系统用哪种shell来执行该脚本。

#!/bin/bash a=123 echo $a DATE=`date` echo "Date is $DATE"

然后赋予执行权限chmod+x var.sh,执行命令./var.sh,打印结果如下:
123 Date is 2017年 10月 15日 星期日 19:55:04 CST

由此,我们可以得出:
echo命令即打印功能,类似其他编程语言中的print
变量名前加上$代表取变量的值
另需注意:1.'='前后不能有空格;2.DATE=date中符号·不是单引号,而是Esc下面的反引号键
2.read可读取键盘输入作为变量
#!/bin/bash echo "What is your name?" read PERSON echo "Hello,$PERSON"

运行后输出
What is your name?

输入cyt后界面输出如下:
cyt Hello,cyt

3.函数
#!/bin/bash function func(){ echo $[ $1 * $2 ] } result=`func $1 $2` echo the result is $result 定义了一个将2个数相乘的功能,$1和$2分别代表第一个传参和第二个传参,如执行以下命令将3个7作为参数传递:./func.sh 3 7

得出结果为:
the result is 21

4.awk功能很强大,这里只展示最简单的用法,这里的$1表示过滤出结果的第1列
[cyt@localhost test]$ date 2017年 10月 15日 星期日 21:05:39 CST [cyt@localhost test]$ date |awk '{print "Year:" $1"\tMonth:" $2"\tDay:"$3}' Year:2017年Month:10月Day:15日

【shell脚本小练习】5.sed
替换一行中的某部分
格式:sed -i 's/要替换的字符串/新的字符串/' filename(匹配字符串可用正则表达式)
比如test.txt里面内容长这样:
Hello,world

比如以上test.txt文件执行 sed -i 's/world/replaceTest/' test.txt 后查看,可以发现替换成功
Hello,replaceTest

    推荐阅读