实验要求:1、为root用户编写登陆欢迎脚本,报告当前主机中的进程数,已登陆用户数,根文件系统的磁盘使用率2、编写三个脚本程序:start,stop和status,用来启动,停止各种系统服务实验步骤:[root@localhost ~]# vi welcome.sh#!/bin/bash# this is test.by shengjiep=`ps aux | wc -l` //设置变量pecho "Running Processes:$p"u=`who | wc -l` //设置变量uecho "Login users:$u"d=`df -hT | grep "/$" | awk ‘{print $6}‘`...
笔者最近在使用shell脚本中处理字符串,因此使用了大量shell脚本中的四剑客(awk,grep,sed,cut)而其中使用最多的两种方法就是grep和awk,因此想总结整理一下。 一、grep的意义 二、grep的基本用法 三、awk的意义 四、awk的基本用法 五、实例说明两者怎么用 一、grep的意义 首先,grep是用来处理行数据的基本命令集,简单来说它的使用意义就在于当你想要找到某个文件中的某个字符串以及它相关联的信息...
shell是一个非常简单的编程语言,所以,如果你的脚本程序复杂度较高,或者要操作的数据结构比较复杂,那么还是应该使用Python、Perl这样的脚本语言。它的函数只能返回字串,无法返回数组
它不支持面向对象,你无法实现一些优雅的设计模式
它是解释型的,一边解释一边执行,连PHP那种预编译都不是,如果你的脚本包含错误(例如调用了不存在的函数),只要没执行到这一行,就不会报错。
假如待截取的字串 var="https://i.cnblogs.com/...
最近刚学会的scp自动输入密码。 #!/bin/bashset -xTIME=`date +%Y%m%d%H%M%S`SOURCE=‘/home/cqq/project‘PASSWD=‘123‘tar zcvf ${TIME}.tar.gz $SOURCE >>/dev/null 2>&1expect -c " spawn scp -r root@192.168.1.132:/home/cqq/project/src/ /home/test/ expect { \"*assword\" {set timeout 300; send \"$PASSWD\r\";} \"yes/no\" {send \"yes\r\"; exp_continue;} }expect eof"#startall && echo "updat...
案例名称:系统初始化
背景:10台已装有linux系统的服务器
需求:
1.设置时区同步
2.禁用selinux
3.清空防火墙策略
4.历史命令显示操作时间
5.禁止root远程登录
6.禁止定时任务发送邮件
7.设置最大打开文件数
8.减少Swap使用
9.系统内核参数优化
10.安装系统性能工具及其他
脚本具体内容
#!/bin/bash#Set time zone and together timeif ls /etc/localtime >/dev/null 2>&1;then rm -f /etc/localtimefiln -s /usr/share/zone...
如果只减去一天的话,直接写就可以了。
#date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数,
#date -d"10 day ago 2015-04-01" +%Y-%m-%d在指定的日期上加上指定的小时
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 3 hour" +"%Y%m%d%H"
2015041615在指定的日期上减去指定的小时
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 -1 hour" +"%Y%m%d%H"
2015041611在指定的...
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
try{
Date date =new Date(); //获取当前时间
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowDate = sf.format(date);
Calendar cal = Calendar.getInstance();
cal.setTime(sf.parse(nowDate));
cal.add(Calendar.DAY_OF_YEAR,+0);
String orderDate = sf.format(cal.getTime());
cal.add(Calendar.DAY...
最近碰到一个需求:针对所有电脑卸载某个小软件,但这个软件并不是SCCM部署,有的是用户自己安装的,有的是系统部署时就已经封装好的,版本繁多,安装路径也不一样!首先想到的当然是用Powershell来做,先后测试了用Get-apppacke\get-appxpacke, Get-WmiObject -Class win32_product等几种方法都不行,最后用找注册表中的UninstallString的方式解决! 方法如下:1、 先用PowerShell定位到注册表位置,X86 Script:Set-Location HKL...
CONID=‘liugaowei‘CONKEY=‘xxxxxxx‘cd ./senselink-coreexpect -c "spawn git pull origin; expect \"*Username*\" { send \"${CONID}\n\"; exp_continue } \"*Password*\" { send \"${CONKEY}\n\" }; interact" ---------使用工具expect来实现自动输入用户名和密码这种操作交互的原文:https://www.cnblogs.com/goodfuture/p/15050697.html
[root@localhost ~]# vim game.sh
#!/bin/bash
a=$(expr ${RANDOM} % 1000)
#$RANDOM是一个环境变量,每次都会随机输出一个介于0~32767之间的数。
echo "这个商品的价格是(0-999)元之间,猜猜具体价格?"
while true
do
let count++
read -p " 请输入您猜到的具体价格,并按Enter键确认:" b
if [ $b -eq $a ]
thenecho "恭喜你,答对了,商品的实际价格是${b}!"echo "您一共猜了${count}次!"exit 0
elif ...
在做shell批处理程序时候,常常会涉及到字符串相关操作。有非常多命令语句。如:awk,sed都能够做字符串各种操作。 事实上shell内置一系列操作符号。能够达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。
一、推断读取字符串值
表达式
含义
${var}
变量var的值, 与$var同样
${var-DEFAULT}
假设var没有被声明, 那么就以$DEFAULT作为其值 *
${var:-DEFAULT}
假设var没有被声明, 或者其值...
df -h | awk {gsub("\\%","")}NR>1{print $5}>/var/log/diskused.logfor a in cat /var/log/diskused.logdo if [ "$a" > "80" ] then echo "disk used>80%" rm -rf /var/log/diskused.log else continue fidone
Shell 解释器
Linux 提供的 Shell 解释器:bash 和 sh 的关系:CentOS 默认的解析器:Shell 入门
脚本格式,以 #!/bin/bash 开头,指定解析器第一种执行方法,本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限多命令处理
在 /home/ 目录下创建一个 text.txt 文件,在文件增加 "I love the world!"Shell 变量
系统变量使用 set 查看当前 Shell 中所有变量
自定...
输入一个目录,判断是否存在,如果不存在则给出提示,如果存在则提示输入要创建的文件名,判断创建的文件是否存在,如果不存在,则继续创建,否则提示改文件已存在,用函数实现#bin/bashcreatefile(){ cd $1 read -p "请输入文件名" filename if [ -f "$filename" ] then echo "文件已存在" else echo "开始创建文件" touch $filename echo "创建完成" fi}
read -p "请输入一个目录" dirif [ -d "$dir" ]then createfile $direlse echo...
什么是shell脚本?shell脚本是Linux和Unix编程环境的基本组成部分。shell脚本有以下几部分组成:shell关键字:if else for do doone...shell命令:export echo exit pwd return....Linux命令:mkdir ls date....文本处理功能:awk cut send grep函数:通过函数把一些常用功能放一起控制流语句:if....then...else或执行循环重复操作的shell脚本。为什么使用shell脚本?使用简单,节省时间,可以把冗长的重复的一串命令合并成一条简...