Linux 第四节(shell脚本,IF,do,for)
Shell脚本
1.批处理式:
2.交互式:
脚本声明 #!/bin/bash
脚本注释 #fakba;kb
脚本命令 ls pwd
bash test.sh //执行test.sh脚本
echo "$0" //脚本名称
echo "$#,$" //总共接收到了几个参数,这些参数分别是什么
echo "$1,$3,$5" //分别是我们接收到的第1 3 5参数
[ -f /etc/fstab ] // 判断文件是否存在
echo $? //查看文件是否存在,1表示不存在,0表示存在
[ -d /dev ] //判断目录是否存在或者是否是一个目录
echo $? //查看目录是否存在或者是否是一个目录,1表示不存在,0表示存在
&& //若前面成功,则执行后面的,逻辑与
[ -d /etc ] && echo "ok" //判断ETC目录存在就在屏幕显示 ok
|| //若前面失败,则执行后面的,逻辑或
[ $user = root ] || echo "不是他,不是他" //如果当前登录用户不是root ,则显示不是他
! //取反值,逻辑非
[ ! $USER = root ] //判断当前登录用户不是root用户
[ `free -m | grep Mem: | awk '{print $4}‘` -lt 1024 ] && echo "Buzu" || echo "chongzu"
//提取以兆为单位的内存空闲值,小于1024就显示不足,大于1024显示充足
[ -z $HAHA ] //判断这个变量是否被使用过
echo $? //查看判断结果
if [ -e /madia/haha ] //判断这个文件是否存在
then
mkdir /madia/haha //新建一个文件
fi
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
//ping 3次,间隔0.2秒,最长响映时间3秒,将所有输出信息重定向到一个黑洞文件
if [ $? -eq 0 ]
then
echo "host $1 is on-line“
else
echo "host $1 is off-line"
fi
read -p "Enter:" GRADE //读取用户输入的信息
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
echo "Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ];then
echo "Pass"
else
echo "Failure"
fi
read -p "Enter:“ PASSWD
for UNAME in `cat users.txt`
do
id $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "$UNAME,Already exist"
else
useradd $UNAME &> /dev/null
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null //
fi
done
//检测网络在线
for IP int `cat ip.txt`
do
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
if [ $? -eq 0 ] ; then
echo "$IP is on-line"
else
echo "$IP is off-line"
fi
done
Linux 第四节(shell脚本,IF,do,for)的更多相关文章
- PHP面试系列 之Linux(四)---- Shell脚本
一.脚本执行方式 1.先赋予权限 chmod +x test.sh; 再直接执行 ./test.sh 2.调用解释器使得脚本执行 3.使用source命令 source test.sh 二.编写基础 ...
- 自学Linux命令行与Shell脚本之路
自学Linux命令行与Shell脚本之路[第一回]:初识Linux 1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3 ...
- 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---56
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---54
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---53
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
随机推荐
- Portainer功能使用之开启远程访问
配置远程连接Docker服务 1.配置 说明:docker默认没有打开"2375"端口,需要先进行配置开启端口 命令 修改配置:vim /usr/lib/systemd/syste ...
- TF坐标
1.简介 TF是一个让用户随时间跟踪多个坐标系的功能包,它使用树形数据结构,根据时间缓冲并维护多个坐标系之间的坐标变换关系. 2.TF工具 tf_monitor :查看TF树中所有坐标系的发布状态 t ...
- 继承与多态 动手动脑3方法覆盖(override)”的要点
方法覆盖(override)"的要点 方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)! 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 以下子类 ...
- Vue的基础-属性
VUE vue-cli脚手架,vue-router路由 vuex做状态管理 vue ui 界面 1.下载node.js 2.下载vue-cli cnpm install vue-cli -g 查看模版 ...
- 数值的扩展方法以及新增数据类型BigInt
二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o或(0O)表示 0b111110111 === 503 // true; 0o767 === 503; / ...
- TCP/IP协议(8): ICMP(Internet Control Message Protocol) 协议 ——诊断和控制 IP 协议层
TCP/IP协议(8): ICMP(Internet Control Message Protocol) 协议 --诊断和控制 IP 协议层 关于网际控制报文协议(Internet Control M ...
- JZOJ 4314. 【NOIP2015模拟11.4】老司机
题目 思路 大意是构造一个数组使它做 \(01\) 背包能表示出所有给定的数 那就暴力枚举每个位置填什么 直到它能表示出所有给定的数 为了保证时间复杂度 我们考虑一个二进制数 \(s\) 表示能构造出 ...
- python下载图片实现方法
转载: https://www.jb51.net/article/119178.htm
- Docker安装部署Mysql8(以作数据持久化)
1.创建容器并进行持久化处理 #拉取镜像 docker pull mysql:8.0.20 #启动镜像,用于拷贝配置文件到宿主机 docker run -p 3306:3306 --name mysq ...
- php连接Access数据库
最近想把一个asp的网站改成php的,无奈空间不支持mysql数据库,只好用access数据库了,但以前都是用的php+mysql,php+access数据库编程还真没有做过.感谢党,感谢cctv,感 ...