
shell
shell
bjgaocp
这个作者很懒,什么都没留下…
展开
-
正则表达式
正则表达式\ 转义符,将特殊字符进行转移,忽略其特殊含义^ 匹配字符串的开始$ 匹配字符串的结尾^$ 匹配空行. 匹配除换行符(\n)外的任意字符.*原创 2020-12-03 16:54:32 · 776 阅读 · 0 评论 -
1到100之内的随机数
echo $(($RANDOM%100 + 1))mkpasswd -d 2 -s 0|sed ‘s#[a-Z]##g’原创 2020-12-02 15:12:34 · 8218 阅读 · 0 评论 -
shell数组
数组的定义普通数组方法1array=(1 2 3) # array为数组名 可以随意定义数组赋值方法2array=([1]=one [2]=two [3]=three)echo ${array[@]}数组赋值方法3array[0]=a array[1]=b array[2]=c数组赋值方法4array=($(ls))获取数组的长度echo ${#array[@]}echo ${#array[*]}打印数组单个元素(数组第一个元素编号为0把前面取数组长度的#去掉)echo ${原创 2020-12-01 16:01:16 · 256 阅读 · 0 评论 -
shell函数
语法简单语法函数名() {指令return n 跳出函数}规范语法function 函数名(){指令return n #n为数字0~255}function 函数名 {指令return n #n为数字0~255}shell函数执行调用函数直接执行函数名即可例:#!/bin/bashtest() { echo "I am test!"}function test1() { echo "I am test1!"}fu原创 2020-11-30 17:21:52 · 118 阅读 · 0 评论 -
break continue exit
break 跳出整个循环体,继续执行循环外的语句continue 跳出本次循环,继续进行下一次循环exit 退出当前shell程序原创 2020-11-27 13:45:37 · 176 阅读 · 0 评论 -
while条件语句
while条件语句 (条件满足一直循环,适合做守护进程,死循环,while是读整行,for遇见空格就另起一行)语法while 条件do指令done案例:每个2秒记录一次系统负载情况while true; do 也可以写成 while :;do#!/bin/bashwhile true do uptime sleep 2done注:while true表示条件永远为真,因此会一直循环下去,像死循环,我们称为守护进程用while写一个脚本1+…100的和#!/bin/bas原创 2020-11-27 09:37:50 · 25282 阅读 · 0 评论 -
case结构条件语句
语法case “字符串变量” in 值 1) 指令1 ;;值 2) 指令2 ;;值 n) 指令n ;;*) 指令esac编写apache启动脚本#!/bin/bash# chkconfig: 345 80 10 #345表示在什么级别上启动 80启动优先级 10关闭优先级# description: 描述信息 httpd="/application/apache/bin/httpd -k". /etc/init原创 2020-11-26 15:10:06 · 505 阅读 · 0 评论 -
if条件语句
单分支结构if判断也可以用(())里面用> == < 之类的判断if [条件];then指令fi或if [条件]then指令fi案例:判断/shell/if1.sh是否存在,如果不存在则创建出来。#!/bin/bashfile="/shell"if [ -f "$file/if1.sh" ];then echo "${file} OK"fiif [ ! -f "$file/if1.sh" ];then [ ! -d $file ] && mk原创 2020-11-25 14:49:59 · 277 阅读 · 0 评论 -
判断字符串是否为数字的方法
方法1[ -n “`echo $num|sed ‘s#[0-9]##g’`” ] && echo “参数必须是数字” && exit 1-n 表示字符串不为空 –z 表示为空语法解释:条件 –n 不为空,读入一个变量管道给sed把所有数字替换为空,然后判断是否为空,如果为空表示变量是纯数字,如果不为空表示变量中有字母。方法2expr $a + 0 &>/dev/null[ $? -eq 0 ] && echo yes || echo原创 2020-11-25 14:36:48 · 1352 阅读 · 0 评论 -
for循环语句多线程
for循环结构语法for 变量 in 变量取值列表do指令doneLinux 命令行书写格式for i in 变量 ;do 指令 ;done例:for i in {1..10} ;do touch $i.txt ;done多线程模式需求:查看192.168.2 网段中在线的机器#!/bin/bashfor i in {1..254}do {原创 2020-11-25 13:01:33 · 2128 阅读 · 0 评论 -
条件判断
条件判断test 选项 判断内容test -f file&&echo 1||echo 0 #判断file文件是否存在 存在输出1 不存在输出00test ! -f file&&echo 1||echo 0 #!取反1[] 单中括号中不能加 && 或 || -a=&& -o=||[ -f file ]&&echo 1||echo 00[ ! -f file ]&&echo 1||echo原创 2020-11-17 11:14:26 · 367 阅读 · 0 评论 -
read从标准输入获得值
语法格式read 参数 变量名-p 设置提示信息-t 设置输入等待时间,单位秒read -p “number:” varnumber:3echo $var3赋值多个变量read -p “two number:” var1 var2two number:66 16[root@master shell]# echo $var1 $var266 16...原创 2020-11-17 11:09:28 · 225 阅读 · 0 评论 -
变量的数值计算
let $变量的数学运算 例:let SUM+=I(())执行简单的整数计算 例: ((SUM+=I))格式”$((“ 和 ”))”++ -- 增加及减少+ - !~ 一元的正好与负号 逻辑与 取反* / % 乘 除 取余+ - 加 减 < <= > >= 比较符号 == != 等于 不等于 << >> 向左位移 向右位移 & 位的与 ^ 位的异或 |原创 2020-11-17 11:08:19 · 637 阅读 · 0 评论 -
字符串的删除和替换
把下面文件名中的finished去掉stu_102999_1_finished.jpgstu_102999_2_finished.jpgstu_102999_3_finished.jpgvim /root/shell/p.shfor i in `ls /root/shell/*.jpg`do mv $i `echo ${i%finished*}.jpg` #变量子串替换 中的删除%从后向前#从前向后done把文件的jpg改为JPGvim /root/shell/p.shfor i原创 2020-11-16 14:42:38 · 313 阅读 · 0 评论 -
位置变量
$0 获取当前执行的shell脚本的文件名,包括路径dirname $0 取脚本的全路径basename $0 取脚本文件名$n 获取当前执行的shell脚本的第n个参数值,n=1..9 如果n大于9用大括号括起${10}$# 获取当前shell命令行中参数的总个数$$ 取当前shell的进程号$* 所有参数的内容$! 后台运行的最后一个进程号$? 取上一个进程的状态返回号 0位成功 非0为失败返回值数字代表意义0 表示运行成功2 ...原创 2020-11-16 14:24:46 · 586 阅读 · 0 评论