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
推荐阅读
- 一个小故事,我的思考。
- 家乡的那条小河
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 昨夜小楼听风
- Shell-Bash变量与运算符
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2019.4.18感恩日记
- 那件我们忽略的小事叫感恩