Linux下shell脚本语言编程学习
Linux下shell编程学习
1.题外话
- 自从第一次写完博客(关于蓝桥杯)之后,又一个星期过去了,本来计划是一周最起码写一篇博客来记下自己在一周之内的进步(学习),从而也方便自己以后回顾学习,但是最终自己还是被各种事情拖延,自己整体有时候就是不想学习,不想去弄这个,觉得排版、打字、找材料特别麻烦费时间,宁愿坐着也不愿意去弄,到了不能再拖得时候,就起身去弄这个了,有时候发现并不是整个事情特别麻烦,而是缺少去尝试的勇气,自己想象中觉得麻烦,就没有去弄,结果自己亲自去做的时候,发现也不是那么麻烦,反而做的时候很有感觉,觉得自己在进步,又讲了很多废话,总之,生活中还是要勇于尝试,这样自己才会一直进步。
- 对了,分享一个自己看到的一天的计划,包括学习和放松,觉得挺好;
2.shell编程学习
- echo
- 类似于C语言中的printf一样,是输出打印的东西。
zgq@123:~$ echo "you are a lovely girl!" you are a lovely girl! ##直接在终端就输出.
- 如果要输出变量的值,当然肯定也是可以的,对于于printf就可以知道。
zgq@123:~$ echo &date "+%B%d%A" ##date是变量,然后以月日星期的格式输出 四月08星期一 ##终端输出
- 当然如果你想直接输出日期,也是可以的,以它默认的格式,唯一注意的就是输出变量的时候需要加 “&”这个符号。
zgq@123:~$ echo &date 2019年 04月 08日 星期一 22:40:12 CST
- 除此之后,也可以不加 "&"这个符号,直接用反引号直接括起来,也可以直接输出。
zgq@123:~$ echo
date
2019年 04月 08日 星期一 22:40:19 CST - 这都是在终端直接输出指令,当然也可以建立shell指令文件,然后设置该文件权限,然后运行即可。
#!/bin/sh echo "Mr.$USER,Today is:" echo
date "+%B%d%A"
echo "wish you a lucky day!"## 然后设置文件权限,用到chmod指令,设置该文件 可读可写可操作,然后运行该shell文件,即可得到运行结果。 zgq@123:~~/bin$ chmod 700 FirstShell zgq@123:~/bin$ ./FirstShell Mr.zgq,Today is: 四月08星期一 wish you a lucky day!
- 关于chmod指令,可以在这里说一下,用法为 chmod [abc] 文件或目录
a,b,c,分别代表user,group,other的权限,然后r=4,w=2,x=1,代表读,写,可执行的权限,0就是没有该权限。
例如 chmod 666 FirstShell 设置该bash文件user,group,other的权限都为可读可写,但是不能操作。
- 关于chmod指令,可以在这里说一下,用法为 chmod [abc] 文件或目录
- if
判断语句,主要是判断的方式不同,-r 表示为真,-d表示目录为真等。#! /bin/bash echo "Please enter the directory name of file name" read dd if [ -r $dd ] then ls $dd else echo "input error" fi
zgq@123:~/bin$ chmod 700 shell212 zgq@123:~/bin$ ./shell212 Please enter the directory name of file name ZGQ ##输入文件夹名称,并且可读 Add.c Add.o hello.h Makefile print.h test test.o ##列出文件夹下的名称 Add.h hello.c hello.o print.c print.o test.c
- for
与C语言的中for使用类似,下面的函数为计算1-1/2+1/3-1/4+1/5-.........-/+ 1/n,n由用户输入#! /bin/bash read n total=0.0000 an=0.0000 val=0 begin=$(date +%s) #记录开始时间 for((num=1;num<=$n;num++)); do i=$num ##循环变量 if [ $i != 0 ] then an=
echo "scale=4;1.0000/$i" | bc
##bc用来表示计算小数,scale表示计算保留的小数位数, val=expr $i % 2
##判断是否为偶数,分析上面题目可知,可知偶数为-,奇数为+ if [ $val == 0 ] #若为偶数,则-,否则为+ then total=echo "scale=4;$total-$an" | bc
else total=echo "scale=4;$total+$an" | bc
fi fi done end=$(date +%s) cost=$(($end - $begin)) #输出计算时间 echo $total #计算处结果 echo "花费的时间是$cost s"zgq@123:~/bin$ ./shell218 500 .6909 花费的时间是4 s
如有雷同,纯属我抄你,有问题可以直接联系邮箱,在个人资料里面。
- 类似于C语言中的printf一样,是输出打印的东西。
版权声明:
作者:ZhangYixi
链接:http://zyixi.xyz/linux%e4%b8%8bshell%e8%84%9a%e6%9c%ac%e8%af%ad%e8%a8%80%e7%bc%96%e7%a8%8b%e5%ad%a6%e4%b9%a0/
来源:一西站点
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论