补充

挂载:让光盘和某个文件夹目录产生关联 一般情况下,每次登陆系统都要进行挂载 mount /dev/cdrom /mnt/,极其不方便,下面介绍一下自动挂载。首先进入目录vi /etc/fstab;其次设置参数 /dev/cdrom /mnt iso9600(本文镜像系统为RHEL7.3) defaults 0 0;进入末行模式,保存并退出。df -h 查看挂载情况


下面进入正题 test参数: -d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为为一般文件 -r 测试当前用户是否有读取权限 -w 测试当前用户是否有写入权限 -x 测试当前用户是否有执行权限 判断完用户参数后,使用 $? 判断上一条命令输出结果的正确与否,正确返回0,错误返回非0。

逻辑运算与或非

与(&&):当两边同时成立,则返回0;只有前边语句正确才会继续判断后边的 或(||):当两边有一个成立,则返回0;前面错误,仍可以继续判断 非(!):判断是错误的,则返回0

比较运算

举个例子:echo "hello linux" > test.txt 该命令是将"hello linux"追加到test.txt文件中,并不表示大于号。所以在linux中用操作符来代替比较运算符,下面是linux中常用的一些操作符

流程控制语句

1.判断语句 a.if--单分支(如果。。。那么。。)
基本格式 举个栗子: 创建一脚本文件,并输入: #!/bin/bash DIR=$1 if [ ! -e $DIR ] then mkdir -p $DIR fi 上面的脚本功能为:输入一个参数并判断是否为目录,若不是则创建该目录 b.if--双分支(如果。。那么。。要不然。。。) 基本格式 再举个栗子: 创建一新的文本,输入: #!/bin/bash DIR=$1 if [ ! -e $DIR ] then mkdir -p $DIR else echo "$DIR exist!" fi 上面的脚本功能:输入一参数判断是否为目录,不是则创建该目录,是则显示 目录已创建 c.if---多分支 基本格式: 再举个栗子: #!/bin/bash read -p "input a number:" NUM if [ $NUM -ge 90 ] && [ $NUM -le 100 ] then echo "EXCELLENT" elif [ $NUM -ge 80 ] && [ $NUM -le 89 ] then echo "GOOD" elif [ $NUM -ge 60 ] && [ $NUM -le 79 ] then echo "PASS" else echo "FAIL" fi 脚本功能:判断输入值,并显示对应评分 2.循环语句 for循环基本格式: 栗子: #!/bin/bash read -p "input a user used to passwd:" PASSWD for USER_NAME in cat username do useradd $USER_NAME echo "PASSWD" | passwd --stdin $USER_NAME done 脚本功能:批量创建用户,并设置相同密码(用户名已在一文本中写好) 反引号``---反引号里是命令,则当作命令执行