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. javascript HTML静态页面传值的四种方法

    一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm 代码如下: <input type="text" name= ...

  2. docker化php项目发布方式

    在生产环境的部署中将源代码打包到镜像以docker镜像的方式发布,并且运行环境中同时包含nginx和php-fpm用脚本或者supervisor管理服务进程,这样生产服务器将不需要任何依赖,只需要安装 ...

  3. linux 命令——ls

    一.  ls命令 ls 命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文 件及文件夹清单. 通过ls 命 ...

  4. 最简单的基于FFMPEG的转码程序 —— 分析

    模块:  libavcodec    - 编码解码器         libavdevice   - 输入输出设备的支持         libavfilter   - 视音频滤镜支持         ...

  5. iOS开发遇到的坑之七--上传app Stroe被拒绝:The app references non-public symbols in : _UICreateCGImageFromIOSurface

    这是上学期遇到的问题了,突然查阅邮箱的时候发现了,遂在这里记录下来,希望大家以后注意这个问题 我上传App Store的时候,apple给我发的邮件原文: Dear developer, We hav ...

  6. oc字典放入到数组里,根据字典里的属性排序(重点)

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  7. swiper动画效果

    参考swiper官方网站:http://www.swiper.com.cn/ Swiper常用于移动端网站的内容触摸滑动: 结构展示:   纯javascript打造的滑动特效插件,面向手机.平板电脑 ...

  8. k8s的secret基本概念及案例

    secret相对于configMap,功能上是相似的但是secret是以其他编码方式去记录配置信息的,但是也可以被解读,只不过有技术门槛,不是那么容易就被解读.使用base64可以解码:echo ** ...

  9. 【PHP】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI、SCRIPT_NAME、PHP_SELF区别

    实例:1.http://localhost/index.php/Home/Home/index.html $_SERVER['QUERY_STRING'] = ""; $_SERV ...

  10. Centos7(Linux)下安装VMware12

    https://blog.csdn.net/u012605477/article/details/65627234