Shell Script:
================================================================

示例1:
[root@server0 ~]# vim ping_test.sh
#!/bin/bash
#v1.0
ping -c1 172.25.0.10 &>/dev/null
if [ $? -eq 0 ];then
echo "host 172.25.0.10 is up."
else
echo "host 172.25.0.10 is down."
fi
[root@server0 ~]# chmod a+x ping_test_1.sh

示例2:
#!/bin/bash
#v2.0
host=172.25.0.19
ping -c1 $host &>/dev/null
if [ $? -eq 0 ];then
echo "host $host is up."
else
echo "host $host is down."
fi

示例3:
#!/bin/bash
#v3.0
read -p "请输入测试的IP: " host
ping -c1 $host &>/dev/null
if [ $? -eq 0 ];then
echo "host $host is up."
else
echo "host $host is down."
fi

示例4:
#!/bin/bash
#v4.0
ping -c1 $1 &>/dev/null
if [ $? -eq 0 ];then
echo "host $1 is up."
else
echo "host $1 is down."
fi
[root@server0 ~]# ./ping_test_1.sh 172.25.0.10

示例5:
[root@foundation0 ~]# vim for_ping.sh
#!/bin/bash
for i in {1..254}
do
ping -c1 172.25.254.$i &>/dev/null
if [ $? -eq 0 ];then
echo "172.25.254.$i is up."
else
echo "172.25.254.$i is down" >> down.list
fi
done

示例6:
#!/bin/bash
for i in {1..254}
do
(ping -c1 172.25.254.$i &>/dev/null
if [ $? -eq 0 ];then
echo "172.25.254.$i is up."
else
echo "172.25.254.$i is down" >> down.list
fi)&
done

===条件测试===
man test
1. 文件测试
[ -d dir ]
[ -f file ]
[ -r file ]
[ -x file ]
[ ! -d dir ]

2. 整数比较
[ 2 -eq 2 ]
[ 2 -ge 3 ]
[ 2 -gt 3 ]
[ 2 -le 3 ]
[ 2 -lt 3 ]
[ 2 -ne 3 ]

3. 字符串比较
[ aaa = aaa ]
[ aaa != aaa ]
[ ! aaa = aaa ]
[root@foundation0 ~]# name1=
[root@foundation0 ~]# name2=tianyun
[root@foundation0 ~]# echo ${#name1}
0
[root@foundation0 ~]# echo ${#name2}
7

# [ "$USER" = root ]; echo $?
# [ "$USER" != alice ]; echo $?
# [ -z "$name1" ];echo $?
# [ -z "$name2" ];echo $?
# [ -n "$name1" ];echo $?
# [ -n "$name2" ];echo $?

字符串比较,变量加双引号

示例7:
#!/bin/bash
#if/else
read -p "请输入一个数值: " var1
if [ $var1 -eq 1000 ];then
echo "你输入的是1000"
elif [ $var1 -eq 2000 ];then
echo "你输入的是2000"
elif [ $var1 -eq 3000 ];then
echo "你输入的是3000"
elif [ $var1 -eq 4000 ];then
echo "你输入的是4000"
elif [ $var1 -eq 5000 ];then
echo "你输入的是5000"
else
echo "你输入的不正确."
fi

示例8:
#!/bin/bash
#case
read -p "请输入一个数: " num
case "$num" in
1000)
echo "你输入的是1000"
;;
2000)
echo "你输入的是2000"
;;
3000)
echo "你输入的是3000"
;;
*)
echo "你输入的不正确!"
;;
esac

示例9:
1. 通过给定的文件批量创建用户,密码为123, shell为/sbin/nologin
2. 脚本必须能判断给定的文件是否存在,且是文件
3. 脚本必须能判断脚本运行时是否有参数
4. 脚本为/root/useradd.sh

[root@foundation0 ~]# vim /root/useradd.sh
#!/bin/bash
#useradd
if [ $# -eq 0 ];then
echo "你没有输入任何文件,程序退出!"
exit 1
fi

if [ ! -f $1 ];then
echo "你输入的是不是文件,程序退出!"
exit 2
fi

for user in `cat $1`
do
useradd -s /sbin/nologin $user
echo 123 |passwd $user --stdin &>/dev/null
if [ $? -eq 0 ];then
echo "用户${user}创建成功."
fi
done

[root@foundation0 ~]# chmod a+x /root/useradd.sh

[root@foundation0 ~]# cat user.txt
yy1
yy2
uu8
ii9
cc10

[root@foundation0 ~]# /root/useradd.sh user.txt
用户yy1创建成功.
用户yy2创建成功.
用户uu8创建成功.
用户ii9创建成功.
用户cc10创建成功.

自动添加用户的脚本
#! /bin/bash
if [ $# -eq 0 ];then
echo "no can shu"
elif [ ! -f $1 ];then
echo "no file "
else
for user in `cat userlist`
do
id $user &> /dev/null
if [ $? -eq 0 ];then
echo "this user exit"
else
useradd -s /sbin/nologin $user
echo "123456" | passwd $user --stdin
fi
done
fi

scripts的更多相关文章

  1. SQLMap Tamper Scripts Update 04/July/2016

    SQLMap Tamper Scripts Update apostrophemask.py Replaces apostrophe character with its UTF-8 full wid ...

  2. CS0103: The name ‘Scripts’ does not exist in the current context解决方法

    转至:http://blchen.com/cs0103-the-name-scripts-does-not-exist-in-the-current-context-solution/ 更新:这个bu ...

  3. npm Scripts使用教程【译】

    Why npm Scripts? 原文发表于 2016.2.12,原文地址: https://css-tricks.com/why-npm-scripts/ 以下是访客Damon Bauer发布的一篇 ...

  4. Security Configuration and Auditing Scripts for Oracle E-Business Suite (文档 ID 2069190.1)

    This document provides the security configuration and auditing scripts for Oracle E-Business Suite. ...

  5. Nancy Scripts,CSS文件夹配置

    public class Bootstrapper : DefaultNancyBootstrapper { protected override void ConfigureConventions( ...

  6. phpMyadmin /scripts/setup.php Execute Arbitrary PHP Code Via unserialize Vul Object Injection PMASA-2010-4

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 对这个漏洞简单的概括如下 . "/scripts/setup.php&q ...

  7. phpMyadmin /scripts/setup.php Execute Arbitrary PHP Code Via A Crafted POST Request CVE-2010-3055

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 The configuration setup script (aka scrip ...

  8. ASP.NET MVC 4 RC的JS/CSS打包压缩功能 Scripts.Render和Styles.Render

    打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS ...

  9. mvc中Scripts.Render、Styles.Render

    一.配置BundleConfig.cs文件 1.首先要在App_Start 里面BundleConfig.cs 文件里面 添加要包含的css文件 2.BundleConfig就是一个微软新加的 一个打 ...

  10. shell scripts

    本文涉及的命令:test.[].shift.if.case.for.while.until.function.sh. 撰写 shell script 的良好习惯 在每个 script 的文件头处记录好 ...

随机推荐

  1. UVA Live Archive 4394 String painter(区间dp)

    区间dp,两个str一起考虑很难转移. 看了别人题解以后才知道是做两次dp. dp1.str1最坏情况下和str2完全不相同,相当于从空白串开始刷. 对于一个区间,有两种刷法,一起刷,或者分开来刷. ...

  2. gearmand 编译 Unable to find libevent

    如果出现configure: error: Unable to find libevent,则输入命令:yum -y install libevent libevent-devel然后重新config ...

  3. [solr 管理界面] - 索引数据删除

    删除solr索引数据,使用XML有两种写法: 1) <delete><id>1</id></delete> <commit/> 2) < ...

  4. java调用摄像头

    http://blog.csdn.net/xing_sky/article/details/43482213 原文地址:http://blog.csdn.net/zajin/article/detai ...

  5. C# 常用函数和方法集汇总

    1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.D ...

  6. MySQL 5.7 在线启用和关闭GTID

    1.相关基础 MySQL 5.7.6之后GTID_MODE提供了两个新的选项分别为ON_PERMISSIVE和OFF_PERMISSIVEOFF_PERMISSIVE:不产生GTID事务, Slave ...

  7. tomcat的启动和部署

    方法/步骤 1 一.安装JDK和Tomcat 1,安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可. 备注:路径可以其他盘符,不建议路径包含中文名及特殊符号. ...

  8. GPT分区表的备份与恢复

    GPT分区表的备份与恢复  keenshoes 2016-01-13 21:02:25 关键词: GPT, Partition, MBR,APPLE, GUID, Protective MBR 对于现 ...

  9. Centos7 PHP的安装和配置

    前面Nginx和httpd的安装都是为了支持PHP而弄的,然后这个目标就给了我一沉重的打击,等我慢慢道来,先来说说PHP的安装和配置吧. 一.PHP的安装 1.由于linux的yum源不存在php7. ...

  10. js函数带括号和不带括号赋给对象属性的区别

    注意: 1.js为对象添加函数时,不要在函数后面加().一旦加了括号是表示将函数的返回值赋给对象的属性. 例:function test(){ document.writeln("我是js函 ...