![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux(Shell脚本)
Linux(Shell脚本)
宁宁可可
这个作者很懒,什么都没留下…
展开
-
Shell Expect自动化交互(示例)
备注:为什么要设置超时时间,因为默认时间是10s,则在交互执行的过程中,很可能会断开,导致任务执行没完成就终止。日常linux运维时,经常需要远程登录到服务器,登录过程中需要交互的过程,可能需要输入yes/no等信息,所以就用到expect来实现交互。PS:expect脚本必须以interact或expect eof结束,执行自动化任务通常expect eof就够了。expect 默认的超时时间是10秒,通过 set 命令可以设置会话超时时间,若不限制超时时间则应设置为-1。代表一段shell脚本。原创 2024-07-03 17:16:51 · 937 阅读 · 0 评论 -
shell(21):shell脚本安装SDK
shell脚本安装SDK原创 2022-10-10 10:22:02 · 243 阅读 · 0 评论 -
shell(20):shell脚本中修改文件的文本内容
shell脚本中修改文件的文本内容原创 2022-09-28 16:25:46 · 3760 阅读 · 0 评论 -
Shell(19): shell脚本for循环(nmon监控)和top监控
shell脚本for循环(nmon监控)原创 2022-08-25 15:09:42 · 621 阅读 · 0 评论 -
Shell(18):Shell脚本从文件中读取数据并赋值到命令行中执行
Shell脚本从文件中读取数据并赋值到命令行中执行原创 2022-06-07 17:15:28 · 3065 阅读 · 0 评论 -
shell(17):卸载和安装客户端shell脚本
需求:卸载和安装客户端1、卸载原有的安装目录和文件,写成函数2、重新安装,写成函数整体脚本如下:包括:1、判断是否是目录,然后删除2、查看包含关键字的目录,然后遍历删除(这里是for循环)#!/bin/bash#Date=20220329#Author HMFuninstall_sdk(){ pwdDir=`pwd` cd $pwdDir echo "当前工程目录:"$pwdDir echo "-----------------------卸原创 2022-03-29 19:56:13 · 2321 阅读 · 0 评论 -
shell(16):获取包含关键字的多目录,然后遍历删除
#先找到包含关键字的目录查找目录两种方式:方式一:ls -l |grep ^d |grep "sdk-" |awk '{print $9}'方式二:find / -type d -name 'sdk-*'可以用命令直接删除:$ls -l |grep ^d |grep "sdk-" |awk '{print $9}' |xargs rm -rf 但在脚本中考虑健壮性需要遍历并判断是否是目录再删除。解释:$ls -l | grep ^d --->只列出当前目录...原创 2022-03-29 19:51:06 · 581 阅读 · 0 评论 -
shell(15):判断具体目录是否是目录然后删除
#先找到具体目录:$find /opt -name "casb"/opt/casb$再判断是否是目录$if [ -d /opt/casb ];thenecho "true"fitrue 整体: casbDir=`find /opt -name "casb"` if [ -d $casbDir ];then rm -rf $casbDir echo $casbDir"SDK安装目录:/opt/casb存在,进行删除" f...原创 2022-03-29 19:50:15 · 1343 阅读 · 0 评论 -
shell(14)shell脚本安装客户端提取表结构(支持多数据库)
shell(14)安装客户端提取表结构脚本(支持多数据库)针对之前支持单数据库的脚本优化下,能够支持多种数据库。配置文件修改DB_TYPE_ONE=mysql等于其他数据库,就可以支持了。#dbTypeDB_TYPE_ONE=mysqlDB_TYPE_ALL=mysql,postgresql,vertica,oracle,dm#database jsonMYSQL_JSON=36417-MYSQL-aoe_java-5-202111021304.jsonORACLE_JSON=原创 2021-11-20 11:19:36 · 836 阅读 · 0 评论 -
shell(13): Shell脚本,if语句使用方双括号
shell(13): Shell脚本,if语句使用方双括号今天在测试shell脚本时,发现永远都是true,值不对时也不会为false,最后发现是判断语句写错了。整理下以下情况:Shell脚本的例子1:#!/bin/bashecho "----------------Java调用shell脚本执行客户端加解密任务,开始--------------------------"pwdDir=`pwd`cd $pwdDirecho "当前工程目录:"$pwdDir#查找数据原创 2021-11-09 21:17:32 · 2944 阅读 · 2 评论 -
shell(11): 执行任务shell脚本
#!/bin/bashecho "----------------Java调用shell脚本执行客户端加解密任务,开始--------------------------"pwdDir=`pwd`cd $pwdDirecho "当前工程目录:"$pwdDir#查找数据库文件并读取数据db_properties=`find $pwdDir -name "db.properties"`if [ -f "$db_properties" ];then #db_type=$(cat "$d.原创 2021-10-25 23:23:48 · 222 阅读 · 0 评论 -
shell(10): shell脚本使用grep和awk从文件中读取元素
shell(二十九):shell脚本使用grep和awk从文件中读取元素#!/bin/bashpwdDir=`pwd`db_properties=`find $pwdDir -name "db.properties"`if [ -f "$db_properties" ];then user=$(cat "$db_properties" | grep "userName" | awk -F '=' '{print $2}') password=$(cat "$db_propert原创 2021-10-25 20:42:49 · 1244 阅读 · 0 评论 -
shell(9): shell脚本安装chajian
Linux(二十八):shell脚本安装插件Shell脚本编写的前提:每次在Linux下安装客户端都需要手动删除插件、安装插件,比较繁琐。所以需要写个脚本来进行安装。#!/bin/bashpwdDir=`pwd`cd $pwdDir#删除原有插件和SDK#plugin_installDir=`find /opt -name "AOEPlugin_auto"`plugin_installDir=`find $pwdDir -name "pluginLib"`echo $plugin原创 2021-10-16 17:45:55 · 459 阅读 · 0 评论 -
shell(8): Shell脚本自动化重装客户端(二)
Shell脚本自动化重装客户端(二)跟二十六区别在于,因为增加了两个参数导致数据库的密码和账号提取不到,需要稍微改下脚本。Shell脚本编写的前提:每次在Linux下安装客户端都需要手动删除客户端、安装客户端和从数据库中提取表结构操作,步骤比较繁琐。Shell编写的目的:能够自动化删除客户端,重装客户都安和从数据库提取表结构。操作步骤:删除原有客户端安装的目录删除原有安装包解压缩(安装包)进入解压缩目录,执行安装客户端脚本从配置文件jdbc.properties里读取数据库信.原创 2021-05-22 11:53:23 · 186 阅读 · 0 评论 -
shell(7): Shell脚本自动化重装客户端
Shell脚本自动化重装客户端Shell脚本编写的前提:每次在Linux下安装客户端都需要手动删除客户端、安装客户端和从数据库中提取表结构操作,步骤比较繁琐。Shell编写的目的:能够自动化删除客户端,重装客户都安和从数据库提取表结构。操作步骤:删除原有客户端安装的目录 删除原有安装包 解压缩(安装包) 进入解压缩目录,执行安装客户端脚本 从配置文件里读取数据库信息,并提取表结构。完整脚本如下:#!/bin/bash#删除原有客户端安装的目...原创 2021-04-26 14:33:52 · 428 阅读 · 0 评论 -
shell(6): shell脚本从文件中读取数据获取相应元素并赋值到程序中执行
前提:本次需要测试1个执行程序,需要每次手动改动参数进行测试并获取执行结果,但是手动执行太繁琐。./my_sm4_speed.exe 1000 5 1048576 gcm #后面这几位都是参数:$sloop $ths $sz $ms解决办法:写1个脚本执行后,执行结果在文件里,直接查看结果即可,以下是脚本。shell脚本从文件中读取数据获取相应元素并赋值到程序中执行一、数据列表:demo.txt{"loop":"1000","threads":"10","size":"1048576..原创 2020-09-12 10:24:50 · 2023 阅读 · 0 评论 -
shell(4): shell脚本从文件中读取内容的方法
使用while循环结合read命令逐行读取文件内容1、方法1cat "文件名" | while read linedo done2、方法2exec < demo.txt //读取文件while read linedo........done3、方法3while read linedo........done <demo.txt //将整个while循环的标准输入指向文件...原创 2020-06-27 11:19:20 · 6599 阅读 · 0 评论 -
shell脚本(1): shell脚本思维导图
原创 2020-06-26 20:50:49 · 779 阅读 · 0 评论 -
shell(2): shell脚本计算程序执行的时间
程序通过shell脚本执行,并计算程序执行的时间:#!/bin/bashstarttime=`date +'%Y-%m-%d %H:%M:%S'`java -classpath .:./lib/suite-jni-release-2.2.jar:./lib/SDThreadTest.jar SDTest 1endtime=`date +'%Y-%m-%d %H:%M:%S'`start_seconds=$(date --date="$starttime" +%s);end_seconds=$(d原创 2020-06-21 11:05:57 · 1246 阅读 · 0 评论 -
Linux(二十三):Linux命令:“grep -v“排除输出
grep 是查找含有指定文本行的意思,比如grep test 就是查找含有test的文本的行grep -v 是反向查找的意思,比如grep -v grep 就是查找不含有 grep 字段的行1、grep -v查询文件排除输出查日志的时候,经常会使用cat xxxx.log |grep yyyy命令,如果grep的时候,想排除某些字段,那么是cat xxx.log |grep yyyy |grep -v ccc1.1.从文件中查找字符grep “字符”[root@localhost .原创 2021-04-06 17:35:31 · 2169 阅读 · 0 评论 -
shell(3): shell脚本for循环(nmon监控)
需求:/home/auto_monitor.sh 1、需要做性能测试10分钟执行一次(不同的模式,不同的循环次数)for a in ${algo[@]}; //遍历模式 for l in ${loop[@]}; //遍历循环次数2、同时需要用nmon进行监控初始监控是每10分钟监控cd /root/nmon$./nmon_x86_64_centos7 -s10 -c60-f -m ./report全部脚本如下:#!/bin/bashalgo...原创 2021-01-07 15:33:52 · 424 阅读 · 2 评论