[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脚本?使用简单,节省时间,可以把冗长的重复的一串命令合并成一条简...
菜鸟教程提供的Shell在线编辑器
Shell 字符串项目
功能单引号
原样输出,变量无效。但可用成对单引号嵌套成对单引号输出变量双引号
定义字符串中附带有变量的命令并且想将其解析后再输出的变量。1. 单引号
#!/bin/bash
test='Try to do it.'
echo 'I say ${test}' #**[代码1]**
#echo ' \' ' #使用转义字符会报错,**[代码2]**
echo 'I say '${test}'' #**[代码3]**
单引号字符串的限制:单引号里的任何...
本来想做DRBD+HEARTBEAT,但是领导说再加硬盘浪费资源,没有必要,而且在已有硬盘上做风险较大,所以就只能用rsync来实现数据同步了,实验中发现很多的坑,都用脚本和计划任务给填上了,打算把这套直接用在生产环境中,到时候如果还遇到什么问题,再进行修正和补全,下面是项目细节:主机配置:web:192.168.6.10 Centos 6.4nfs1:192.168.6.1 Centos 6.4nfs2:192.168.6.2 Centos 6.4keepalived 1.2.13 VIP:192.168.6.1051.安装NFS和...
假设有变量 var=http://www.aaa.com/123.htm.1. # 号截取,删除左边字符,保留右边字符。echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即删除 http://www.aaa.com/结果是 123.htm3. %号截取,删除右...
#!/bin/bashstatus=`/etc/init.d/DmServiceDMSERVER status | grep running | wc -l`process=`ps -ef | grep dmserver | grep -v grep | wc -l`port=`lsof -i:5236 | grep -i listen | wc -l`if[ $port -ne 0 ] && [ $process -ne 0 ] && [ $status -ne 0 ]thenecho "dmserver is running"elseecho "dmserver is not running"fi
防伪码:学而不思则罔,思而不学则殆 使用xshell测试磁盘报警脚本1、打开一台centOS6.5的虚拟机,网络适配器改为桥接模式。650) this.width=650;" src="/upload/getfiles/default/2022/11/9/20221109034129155.jpg" title="0588D52E-864E-4A31-9764-178C2F4BB870.jpg" />2、可以正常上网。650) this.width=650;" src="/upload/getfiles/default/2022/11/9/20221109034129430.jpg" title="R@X[}8A$P8[ROJ$K0{I6WM3.pn...
l systemctl start **** 启动某个东西
l yum -y install epel-release
yum -y update
这两个是更新本地源 最后在使用这条命令因为下载时间比较长
l cd /etc/yum.repos.d/
切换目录到下载目录
cp nie/CentOS-Base.repo .
yum -y install 加下载名称
选择外网下载文件
l systemctl start 服务.service
启动某个服务
如报以下错误(Failed to start zabbix.service: Unit zabbix.service failed to load: No such #file or direc...
hive里面有个hive -e 命令可以传参数,但是当hql语句多了以后,整个shell脚本会显得比较凌乱,当然有人可能会说hive -f可以实现直接调用一个file,bingo的确如此,但是还是有个很大的缺陷,就是这个不能传参数了,不能传参数在实际的工作中是无法忍受的。于是想到了封装一个命令HiveF,既能直接传入file,又能传参数。其实实现很简单,下面就把代码分享出来。当然还不是很完善,抛砖引玉吧。#!/bin/bash. /etc/profilecat $1 > $1....
读取多个目录下的本地文件,多个目录通过循环遍历的方式,以参数传递:
#!/bin/bash
i=0while [ $i -lt 10000 ] do echo "i=$i" spark-submit --class com.link.fblx.readFromPath --driver-memory 20G --executor-memory 20G --num-executors 1 --executor-cores 25 --total-executor-cores 25 --jars jsoup-1.8.1.jar /root/sparkdemo_jar.jar file:///home/zl/data/$i/* /test/zl/fblx_link/20190109/output$i ((i++))don...
背景:
需要ssh登录到远程机器上做测试
ssh登录到每台机器,执行相同的命令,特别麻烦,怎么才能省点事?
实现:
把命令写到脚本里,放在机器A上,然后使用如下命令即可。
?ssh $ip? -C "/bin/bash" < /home/test.sh