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)的更多相关文章

  1. PHP面试系列 之Linux(四)---- Shell脚本

    一.脚本执行方式 1.先赋予权限 chmod +x test.sh; 再直接执行 ./test.sh 2.调用解释器使得脚本执行 3.使用source命令 source test.sh 二.编写基础 ...

  2. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  3. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  6. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  7. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---56

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---54

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---53

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. Portainer功能使用之开启远程访问

    配置远程连接Docker服务 1.配置 说明:docker默认没有打开"2375"端口,需要先进行配置开启端口 命令 修改配置:vim /usr/lib/systemd/syste ...

  2. TF坐标

    1.简介 TF是一个让用户随时间跟踪多个坐标系的功能包,它使用树形数据结构,根据时间缓冲并维护多个坐标系之间的坐标变换关系. 2.TF工具 tf_monitor :查看TF树中所有坐标系的发布状态 t ...

  3. 继承与多态 动手动脑3方法覆盖(override)”的要点

    方法覆盖(override)"的要点 方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)! 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 以下子类 ...

  4. Vue的基础-属性

    VUE vue-cli脚手架,vue-router路由 vuex做状态管理 vue ui 界面 1.下载node.js 2.下载vue-cli cnpm install vue-cli -g 查看模版 ...

  5. 数值的扩展方法以及新增数据类型BigInt

    二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o或(0O)表示 0b111110111 === 503 // true; 0o767 === 503; / ...

  6. TCP/IP协议(8): ICMP(Internet Control Message Protocol) 协议 ——诊断和控制 IP 协议层

    TCP/IP协议(8): ICMP(Internet Control Message Protocol) 协议 --诊断和控制 IP 协议层 关于网际控制报文协议(Internet Control M ...

  7. JZOJ 4314. 【NOIP2015模拟11.4】老司机

    题目 思路 大意是构造一个数组使它做 \(01\) 背包能表示出所有给定的数 那就暴力枚举每个位置填什么 直到它能表示出所有给定的数 为了保证时间复杂度 我们考虑一个二进制数 \(s\) 表示能构造出 ...

  8. python下载图片实现方法

    转载: https://www.jb51.net/article/119178.htm

  9. Docker安装部署Mysql8(以作数据持久化)

    1.创建容器并进行持久化处理 #拉取镜像 docker pull mysql:8.0.20 #启动镜像,用于拷贝配置文件到宿主机 docker run -p 3306:3306 --name mysq ...

  10. php连接Access数据库

    最近想把一个asp的网站改成php的,无奈空间不支持mysql数据库,只好用access数据库了,但以前都是用的php+mysql,php+access数据库编程还真没有做过.感谢党,感谢cctv,感 ...