
Shell
墨痕诉清风
始于情,行于心。
展开
-
利用shell脚本写文件
自定义 mongodb 配置,希望原生离线安装启动,使用该配置。在离线安装服务的过程时,自动生成配置文件并启动该服务。原创 2023-12-14 17:06:39 · 579 阅读 · 0 评论 -
Linux 设置用户拥有root权限(sudo权限)
【代码】Linux 设置用户拥有root权限(sudo权限)原创 2023-04-26 01:40:52 · 1232 阅读 · 0 评论 -
Shell base64 编码解码
Shell base64 编码解码原创 2023-04-14 12:13:27 · 1266 阅读 · 0 评论 -
Shell一条命令ping局域网存活主机
【代码】Shell一条命令ping局域网存活主机。原创 2022-08-28 00:51:54 · 716 阅读 · 0 评论 -
Shell安装脚本判断安装是否正确
Shell安装脚本判断安装是否正确原创 2022-08-18 14:29:30 · 644 阅读 · 0 评论 -
Shell获取json数据中key对应的value值
Shell获取json数据中key对应的value值原创 2022-06-15 16:47:57 · 5832 阅读 · 1 评论 -
Shell脚本判断服务是否启动(systemctl、service服务是否启动)
Shell脚本判断服务是否启动(systemctl、service服务是否启动)原创 2022-06-15 15:13:31 · 3770 阅读 · 0 评论 -
Shell离线升级脚本(Python专用)
目录目录结构编辑README编辑upgrade_file.txtupgrade_folder.txtupgrade.sh原创 2022-06-10 16:20:04 · 574 阅读 · 0 评论 -
Shell 按行读取文件
做批量文件替换、删除时,读取文件内容已写好的文件名,存入数组中,遍历进行for循环批量替换。写法二写法三注for循环读行操作,与while读行的区别while是完全按行读取,不管行内有多少段文字for是按行读取,如果行内文字有空格,则分开读取,即一次读取一个字符串......原创 2022-06-10 14:30:19 · 2895 阅读 · 0 评论 -
Shell 二进制转十进制
二进制转十进制echo "$((2#00011000))"原创 2022-04-10 21:27:26 · 1214 阅读 · 0 评论 -
Shell常用参数解释($0、$1、$#、$@、$$、$USER、$HOSTNAME、$LINENO、$RANDOM、$?)
$0 - 脚本名$1 - 命令参数1$# - 几个参数$@ - 参数分别是什么$$ - 当前脚本PID$USER - 用户$HOSTNAME - 主机名$LINENO - 行号$RANDOM - 随机数实例: abc.sh#!/bin/bashecho "脚本名是$0"echo "命令参数是 $1 和 $2"echo "此命令有 $# 个参数, 分别是 $@, 当前脚本PID是 $$"echo "用户: $USER, 主机名: $HOSTNAME, 行号:原创 2022-04-09 16:35:01 · 2676 阅读 · 0 评论 -
Shell读取配置文件、修改配置文件(ini、conf)
cba.ini[Class]ids=student1,student2,student3files=profilefile [student1]name=LiLeiage=16 [student2]name=HanMeiMeiage=15 [student3]name=Lucyage=15abc.sh#/usr/bin/env bashbase_path=$(cd `dirname $0`; pwd)cba_ini=$base_path/cba.inia原创 2022-03-31 18:09:33 · 9518 阅读 · 4 评论 -
Shell 计算两个数的加减乘除取余(+、-、*、\、/)
目录实例结果实例#! /bin/basha=4b=3echo '$a+$b=' $(( a + b )) echo '$a-$b=' $(( a - b ))echo '$a*$b=' $(( a * b ))echo '$a/$b=' $(( a / b ))echo '$a%$b=' $(( a % b ))结果$a+$b= 7$a-$b= 1$a*$b= 12$a/$b= 1$a%$b= 1...原创 2022-03-18 17:56:04 · 3011 阅读 · 0 评论 -
Shell脚本传参使用正确方法(Shell脚本传参数)
实例(test.sh)#!/bin/shdeclare -i win_count=0declare -i lin_count=0function help(){ echo -e "\033[36;1mhelp:\033[0m" echo -e "\033[36;1m --win(-W): Windows Number of Windows VMS(eg: -W 2 or --win 2)\033[0m" echo -e "\033[36;1m .原创 2022-03-18 16:50:31 · 3933 阅读 · 0 评论 -
Shell declare的使用方法
帮助declare声明变量总结如下:declare [+/-][选项] 变量名选项: -:给变量舍得类型属性 +:取消变量的类型属性 -a:将变量声明为数组型 -i:将变量声明为整型 -x:将变量声明为环境变量 -r:将变量声明为只读变量 -p:查看变量的被声明的类型1、变量声明为数值型declare -i num=12也可以查看变量类型declare -p num得到的结果如下declare -i num="12"2、声明数组变原创 2022-03-18 14:59:51 · 1923 阅读 · 0 评论 -
Shell shift的使用方法
目录命令解释实例一示例二命令解释位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就原创 2022-03-18 14:46:59 · 732 阅读 · 0 评论 -
Ubuntu开机启动Python脚本
linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件,另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。还 需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。原创 2021-12-24 16:29:25 · 4514 阅读 · 0 评论 -
Shell 判断数是否为某数的倍数
计算100以内为5的数(非5的数可做累加等计算)#!/bin/shfor((i=1;i<=$1;i++))do if [[ $i%5 -eq 0 ]]; then echo $i else echo ”no 5 multiple“ fidone原创 2021-12-01 11:18:11 · 1745 阅读 · 2 评论 -
Shell生成随机uuid
[root@localhost images]# uuidgend2db7973-f793-4acc-9595-7563e196539f[root@localhost images]# uuidgen | sed 's/-//g'33ad00c1d4424030b9e85a72850dc7b0原创 2021-11-30 14:38:05 · 2335 阅读 · 0 评论 -
Shell 获取函数返回值(函数返回值)
#!/bin/shdef_one_install(){ if [ -d "/opt/aaa" ];then return 1 else return 0 fi}main(){ def_one_install res=$? echo $res if [[ $res==1 ]]; then echo 1 else echo 0 fi}main原创 2021-11-28 19:15:56 · 4946 阅读 · 0 评论 -
编码systemctl自定义服务(安装脚本、启动脚本)
PrivateTmp=True表示给服务分配独立的临时空间。After:依赖,当依赖的服务启动之后再启动自定义的服务。[Install]服务安装的相关设置,可设置为多用户。注意:启动、重启、停止命令全部要求使用绝对路径。Type=forking是后台运行的形式。ExecStart为服务的具体运行命令。[Service]服务运行参数的设置。Description:描述服务。ExecReload为重启命令。ExecStop为停止命令。[Unit]:服务的说明。原创 2021-11-22 15:30:25 · 1943 阅读 · 0 评论 -
Shell 当前路径下找出所有空文件夹
find . -type d -empty原创 2021-11-17 18:20:50 · 889 阅读 · 0 评论 -
使用shell脚本或命令行添加、删除 crontab 定时任务
crontab 是运维过程中常用的定时任务执行工具 一般情况下在有新的定时任务要执行时,使用crontab -e ,将打开一个vi编辑界面,配置好后保存退出,但是在自动化运维的过程中往往需要使用shell脚本或命令自动添加定时任务。接下来结束三种(Centos)自动添加的crontab 任务的方法:方法一:编辑/var/spool/cron/用户名 文件,如:echo "* * * * * hostname >> /tmp/tmp.txt" >>...原创 2021-11-11 16:21:48 · 12334 阅读 · 1 评论 -
Linux查看网络连接数,统计网络连接数(netstat、Apache连接数)
一、查看哪些IP连接本机netstat -an二、查看TCP连接数1)统计80端口连接数netstat -nat|grep -i "80"|wc -l2)统计httpd协议连接数ps -ef|grep httpd|wc -l3)、统计已连接上的,状态为“establishednetstat -na|grep ESTABLISHED|wc -l4)、查出哪个IP地址连接最多,将其封了.netstat -na|grep ESTABLISHED|awk {print $5}|awk -F原创 2021-11-08 17:09:28 · 24201 阅读 · 0 评论 -
Shell数组操作(添加、删除元素、清空、遍历)
#!/bin/sh# 声明arr=()# 添加arr[0]="111"arr[1]="222"# 整体打印echo ${arr[@]}# 遍历, 注意下标从0开始for (( i=0;i<${#arr[@]};i++ ))do echo ${arr[$i]}done# 删除某元素, 如果删除0,那么遍历只能从1开始了unset arr[0]# 查看数组长度echo ${#arr[@]}# 清空数组unset arrecho ${arr.原创 2021-10-27 14:59:16 · 8475 阅读 · 0 评论 -
Shell整数型变量自增自减的实现方式(+1,-1,++,--)
#!/bin/sh#本脚本测试shell脚本中整型变量自增 加1的几种方法 #定义整型变量a=1echo $a #第一种整型变量自增方式a=$(($a+1))echo $a #第二种整型变量自增方式a=$[$a+1]echo $a #第三种整型变量自增方式a=`expr $a + 1`echo $a #第四种整型变量自增方式let a++echo $a #第五种整型变量自增方式let a+=1echo $a #第六种整型变量自增方式((a++))e.转载 2021-10-27 10:33:51 · 1356 阅读 · 0 评论 -
判断mac地址单播还是组播(shell脚本)
MAC地址是以太网二层使用的一个48bit(6字节十六进制数)的地址,用来标识设备位置。MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally unique identifier),后24位由厂商自行分配。MAC地址有单播、组播、广播之分。单播地址(unicast address)表示单一设备、节点,多播地址或者组播地址(multicast address、group address)表示一组设备、节点,广播地址(broadcast address)是组播的特例,表示原创 2021-08-27 14:02:46 · 2399 阅读 · 0 评论 -
Shell生成随机mac地址
问题配置虚拟环境需要指定随机mac地址防止冲突实现先说结论echo $RANDOM|md5sum|sed 's/../&:/g'|cut -c 1-178a:2e:08:68:12:f2感兴趣的朋友可以继续看分析部分思路使用shell脚本生成6段00-ff的随机十六进制数最后两两分割用 : 拼接为合法的mac地址随机数利用环境变量RANDOM,范围是0--32767这里直接用echo $RANDOM调用十六进制我想到使用md5 checksum校原创 2021-08-26 16:33:31 · 1797 阅读 · 0 评论 -
Shell sed命令,替换文件内容、替换目录下所有文件内容、读取文件内容
替换文件内容格式:sed -i "s/旧字符串/新字符串/g" 文件绝对路径实例:将文件内的34:51替换为11:22#!/bin/shsed -i "s/34:51/11:22/g" /mnt/default.xml替换目录下所有文件内容格式:sed -i "s/旧字符串/新字符串/g" `grep "旧字符串" -rl ./`实例: 替换当前目录下内容有aaa的替换为bbbsed -i "s/aaa/bbb/g" `grep "aaa" -rl ./.原创 2021-08-25 16:52:18 · 6653 阅读 · 0 评论 -
彻底卸载mysql(shell脚本、Centos7)
uninstall_mysql(){ echo [+] Uninstall Mysql yum remove mysql* -y yum remove mariadb* -y if [ -f "/etc/my.cnf" ];then rm -rf /etc/my.cnf fi if [ -f "/root/.mysql_sercret" ];then rm -rf /root/.mysql_sercret fi.原创 2021-08-02 17:18:03 · 739 阅读 · 0 评论 -
Shell字符串比较(等于、不等于、大于、小于、起始字符、结尾字符)
【代码】Shell字符串比较(等于、不等于、大于、小于、起始字符、结尾字符)原创 2021-08-02 11:06:33 · 35641 阅读 · 2 评论 -
shell命令获取结果指定行(指定行结果)
取第2行到第5行之间netstat -pantu| sed -n '2,5p'取第2行、第5行netstat -pantu| sed -n '2p;5p;'取第2行到第5行之间,且还取第8行netstat -pantu| sed -n '2,5p;8p;'原创 2021-07-30 15:42:24 · 5173 阅读 · 0 评论 -
shell获取命令行结果指定列(指定列结果)
实例(从1开始)netstat -pantu| awk '{print $2}'原创 2021-07-30 15:32:00 · 1202 阅读 · 0 评论 -
shell获取命令返回结果前多少行(n行)
实例(从1开始)netstat -pantu| head -n 1原创 2021-07-30 15:29:27 · 1558 阅读 · 0 评论 -
shell获取命令结果返回行数(行个数)
实例:netstat -pantu| awk -l原创 2021-07-30 15:23:03 · 3497 阅读 · 0 评论 -
Shell 判断文件或文件夹是否存在(不存在则创建)
【代码】Shell 判断文件或文件夹是否存在(不存在则创建)原创 2021-06-30 17:59:54 · 65026 阅读 · 6 评论 -
shell脚本判断上一个命令是否执行成功
shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败。经过验证,该方法也适用于make命令,并不仅仅限于shell 命令。结合if-else语句实现判断上一个命令是否执行成功。shell脚本中判断上一个命令是否执行成功。原创 2021-01-20 15:55:56 · 7895 阅读 · 0 评论 -
Shell判断参数是否为数字的6种方法(是否为整形)
【代码】Shell判断参数是否为数字的6种方法(是否为整形)原创 2021-01-18 19:47:38 · 10324 阅读 · 0 评论 -
shell 获取字符串前两个字符串、获取字符串最后一个字符、去掉字符串最后一个字符、去掉末尾一个字符、去掉末尾两个字符
输出结果 c或者# 输出结果 c都可以让FINAL获得c这个最后一个字符}# 输出结果 12345467?}# 输出结果 1234546。原创 2021-01-15 18:36:57 · 8277 阅读 · 2 评论 -
shell脚本if中判断大于、小于、等于、不等于的符号
在shell中有时候会用到对数字进行判断的场景,尤其在写脚本判断参数的时候,以下有几个命令需要记住。原创 2021-01-15 18:34:02 · 29740 阅读 · 1 评论