linux shell

本文介绍了Shell脚本的基础操作,包括字符串处理、循环、条件判断和函数调用。通过示例展示了如何进行网络扫描、文件MD5校验、随机密码生成等实用功能。此外,还涉及到了简单的用户交互和案例应用,如服务的启动、停止和重启操作。
摘要由CSDN通过智能技术生成

基本操作

1、获取字符串长度
${#变量名}

2、字符串索引和切片
${string:index:number }
key="ABCDE"
${key:0:1} #A
${key:1:2} #BC 2表示取两个数字

for

#!/bin/bash
 

 
for i in {1..254}
do 
	#ping -c 2 192.168.28.$i &>/dev/null 
	ping 192.168.28.$i -c 2 &>/dev/null 
	if [ $? -eq 0 ];then
		echo "192.168.1.$i 可用"
	else
		echo "192.168.1.$i 不可用"
	fi
done

#/dev/null 不想要的输入放到里面
# $? 是返回上一条命令的执行状态

while

#!/bin/bash
 

 
n=0
while [ $n -lt 10 ]
	do
	echo $n
	let n+=1
	done

case1

#!/bin/bash

echo "==============="
echo "===输入q退出==="
echo "==============="
while :
do
    read -p "请输入一个字符:" char
if [ ${#char} -ne 1 ];then
	echo "$char不是一个字符"
	continue 

elif [ $char == "q" ];then
	echo "手动退出"
	exit

fi

case $char in
[a-z]|[A-Z]])
 echo "字母"
 ;;
[0-9])
 echo "数字"
 ;;
*)
 echo "其它"
 ;;
esac
done



case2

#!/bin/bash

#chmod u+w /etc/sudoers
#newuser ALL=(ALL) NOPASSWD :  ALL

read -p "请选择操作:satar|stop|restart:" operation
case $operation in
"start")
  sudo /etc/init.d/nginx start
  ;;

"stop")
  sudo /etc/init.d/nginx stop
  ;;

"restart")
  sudo /etc/init.d/nginx restart
  ;;
*)
  echo "Usage:nginx {start|stop|restart}"
  ;;
esac

eg:mysql

#!/bin/bash

user="root"
passwd="123456"
while :; do
  count=$(mysqladmin -u$user -p$passwd status | awk '{print $4}')
  echo "$(date +%H:%M:%S) 并发连接数为:$count"
  sleep 2
done

md5

#!/bin/bash
for file in $(ls /etc/*.conf); do
#  echo $file
  md5sum $file >>$(date +%Y-%m-%d:%H-%M-%S).txt
done

#查看不同的地方
#diff r1.txt r2.txt

生成8位随机密码

#!/bin/bash

key="01234567890zbcdefg"
length=${#key}

for i in {1..8}:; do
  index=$((RANDOM % $length))
  pass=$pass${key:index:1}
done
echo $pass


#PYTHON版本
import random
import string
_list = string.ascii_letters + string.digits + "_"

pwd = ""
for i in range(8):
    a = random.choice(_list)
    pwd += a
print(pwd)

函数调用 

#!/bin/bash

sumn() {
  echo $[n1+n2]
}

subn() {
  echo $[n1-n2]
}

read -p "请输入第一个数字:" n1
read -p "请输入第二个数字:" n2
read -p "选择操作(+或-)" op
case $op in
"+")
sumn
;;
"-")
subn
;;
*)
echo "输出错误"
;;
esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值