LINUX shell的初步学习

目录

shell变量与 $

在这里插入图片描述
在这里插入图片描述

这两个均属于给变量赋值。
在这里插入图片描述
而对于上述变量赋值,出现了问题,原因是已经将QAQ赋值给了str,无法对qaq进行识别。所以在进行带有空格的语句赋值时,应该加上" "。

符号$的意思是读取该值的内容,如:
在这里插入图片描述
echo为显示的意思。即显示today这个值中的内容。

read命令

在这里插入图片描述
read命令让键盘中输入的字符赋值为该变量,在后续的语句之中能直接调用该变量。
在这里插入图片描述
也可以同时read赋值多个变量,如果输入个数大于变量个数,最后一个变量会取得余下的输入数。若小于则为空串,如图:
在这里插入图片描述
在这里插入图片描述

位置参数的作用

文件m1.c
在这里插入图片描述
文件m2.c
在这里插入图片描述
文件ex3
在这里插入图片描述
将ex3改为能够执行的文件
chmod +x ex3
执行脚本 ex3 m1.c m2.c
即将m1.c放入位置参数1 m2.c放入位置参数2 将他们用cat函数整合在一起,位置参数0已经为命令名即ex3,随后用wc -l计算并输出总共行数。

利用位置参数给定变量赋值

建立脚本ex5,如图:
在这里插入图片描述
解释:将位置参数1的文件的文件名(指针)赋值给n1,后面同理。而后面的cat $n1 $n2 $n3即为将参数为1,2,3的文件的文件内容进行整合,然后求其总共行数。

if语句

建立脚本ex9
在这里插入图片描述
pwd为显示当前目录,test -f file 判断该file文件是否存在,且为正规文件,用fi做完if的结尾。

建立脚本ex9_1
在这里插入图片描述
如果该文件为正规文件则打开它,如果为目录文件则进入该目录,并打开该目录下所有文件

通配符

建立脚本ex7
在这里插入图片描述
此处为` 并非 ’ ,在反斜号中表示命令的执行
date命令为看时间日期

who 为显示当前用户,而wc -l表示who命令所出现的行数。

测试语句

建立脚本ex10
在这里插入图片描述
if [ -f ex1 ] 的意思是与 if test -f ex1 一个意思。
此处要注意的是,在[ ]中,前括号之后,与后括号之前都应该加空格,并且在命令 -f 、ls- l、 echo、 后面应该都加上空格再加上被执行目录。

while语句

建立ex11脚本
在这里插入图片描述
while语句 后面使用的是[ ],在[ ]中写明条件,如上图传入一个或多个文件,他分别进行判断,直到判断结束,跳出循环。

在这里插入图片描述

建立ex12脚本

for语句

1、练习
在这里插入图片描述
即对于day来说,依次取这4个值并且进行显示
熟练掌握
for in语句
do done语句

2、建立ex13脚本
在这里插入图片描述
运行结果
在这里插入图片描述
将第一个参数传入dir中,如果dir是一个目录文件,则进入dir进行操作,将第二个参数传入了name中(这里我也不知道为什么传入了name),再对name文件进行判断,并执行相应操作。

函数

1、简单函数调用
创建文本ex14,如图
在这里插入图片描述
运行脚本
在这里插入图片描述
2、引用函数
创建脚本ex14_1,如图
在这里插入图片描述
运行脚本
在这里插入图片描述
此处要注意的是,以后再while后面的[ ]中记得双边都加上空格,对于count=$(( $count+1))必须有两个括号。

清除/var/log下的log文件

在这里插入图片描述
在含有/var的根目录下编写脚本
cat命令的使用
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
4.清空文件,比如要清空
/www/aaa.txt
cat /dev/null > /www/aaa.txt;
改良版:
在这里插入图片描述
真正意义上的脚本:

在这里插入图片描述
在这里插入图片描述
$UID中所表示的数为用户,当其值为0时,表示为root用户。
exit后面为返回值,返回值的取值范围为0~255.
-ne的意思是判断两者是否相等。
tail命令:tail -n filename > newfilename 将filenname文件最后n行保留到newfilename中,并且要记得更名。

猜你喜欢

转载自blog.csdn.net/s_1024/article/details/115052903