scripts
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的更多相关文章
- SQLMap Tamper Scripts Update 04/July/2016
SQLMap Tamper Scripts Update apostrophemask.py Replaces apostrophe character with its UTF-8 full wid ...
- 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 ...
- npm Scripts使用教程【译】
Why npm Scripts? 原文发表于 2016.2.12,原文地址: https://css-tricks.com/why-npm-scripts/ 以下是访客Damon Bauer发布的一篇 ...
- 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. ...
- Nancy Scripts,CSS文件夹配置
public class Bootstrapper : DefaultNancyBootstrapper { protected override void ConfigureConventions( ...
- phpMyadmin /scripts/setup.php Execute Arbitrary PHP Code Via unserialize Vul Object Injection PMASA-2010-4
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 对这个漏洞简单的概括如下 . "/scripts/setup.php&q ...
- phpMyadmin /scripts/setup.php Execute Arbitrary PHP Code Via A Crafted POST Request CVE-2010-3055
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 The configuration setup script (aka scrip ...
- ASP.NET MVC 4 RC的JS/CSS打包压缩功能 Scripts.Render和Styles.Render
打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS ...
- mvc中Scripts.Render、Styles.Render
一.配置BundleConfig.cs文件 1.首先要在App_Start 里面BundleConfig.cs 文件里面 添加要包含的css文件 2.BundleConfig就是一个微软新加的 一个打 ...
- shell scripts
本文涉及的命令:test.[].shift.if.case.for.while.until.function.sh. 撰写 shell script 的良好习惯 在每个 script 的文件头处记录好 ...
随机推荐
- UVA Live Archive 4394 String painter(区间dp)
区间dp,两个str一起考虑很难转移. 看了别人题解以后才知道是做两次dp. dp1.str1最坏情况下和str2完全不相同,相当于从空白串开始刷. 对于一个区间,有两种刷法,一起刷,或者分开来刷. ...
- gearmand 编译 Unable to find libevent
如果出现configure: error: Unable to find libevent,则输入命令:yum -y install libevent libevent-devel然后重新config ...
- [solr 管理界面] - 索引数据删除
删除solr索引数据,使用XML有两种写法: 1) <delete><id>1</id></delete> <commit/> 2) < ...
- java调用摄像头
http://blog.csdn.net/xing_sky/article/details/43482213 原文地址:http://blog.csdn.net/zajin/article/detai ...
- C# 常用函数和方法集汇总
1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.D ...
- MySQL 5.7 在线启用和关闭GTID
1.相关基础 MySQL 5.7.6之后GTID_MODE提供了两个新的选项分别为ON_PERMISSIVE和OFF_PERMISSIVEOFF_PERMISSIVE:不产生GTID事务, Slave ...
- tomcat的启动和部署
方法/步骤 1 一.安装JDK和Tomcat 1,安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可. 备注:路径可以其他盘符,不建议路径包含中文名及特殊符号. ...
- GPT分区表的备份与恢复
GPT分区表的备份与恢复 keenshoes 2016-01-13 21:02:25 关键词: GPT, Partition, MBR,APPLE, GUID, Protective MBR 对于现 ...
- Centos7 PHP的安装和配置
前面Nginx和httpd的安装都是为了支持PHP而弄的,然后这个目标就给了我一沉重的打击,等我慢慢道来,先来说说PHP的安装和配置吧. 一.PHP的安装 1.由于linux的yum源不存在php7. ...
- js函数带括号和不带括号赋给对象属性的区别
注意: 1.js为对象添加函数时,不要在函数后面加().一旦加了括号是表示将函数的返回值赋给对象的属性. 例:function test(){ document.writeln("我是js函 ...