shell脚本命令

shell脚本基本格式:

#!/bin/bash
echo $JAVA_HOME
echo "Hello World!!!"
sh bash ./

变量:

#!/bin/bash
	a=1
	b="hello"
	c=2.5
	d=`ls -l`
	readonly a //常量
	unset a //变量无效化
	echo '$b' //单引号不能直接引用变量
	echo "你好,常量a是$a,变量b的值是${b},变量c是小数,值为$c"
	
	#将反引号内的代码获取的结果输出
	echo $d 
	#获取字符串长度
	echo ${#b}
	#从字符串b下标为n开始截取m个字符
	echo ${b:n:m} 
	#查找字符所在的位置
	echo `expr index "${d}" param`
	
	字符串http://www.aaa.com/root/123.htm
	#取出www.aaa.com/root/123.htm
	a="http://www.aaa.com/root/123.htm"
	b="www.aaa.com/root/123.htm"
	echo ${a:7:${#b}}

数组:

#!/bin/bash
	a=(1 2 3 4 5 6)
	a[7]=12
	echo ${a[3]}
	echo ${a[7]}
	#获取所有元素
	echo ${a[@]}
	#所有元素的个数
	echo ${#a[*]}
	#第七位的长度
	echo ${#a[7]}
	#遍历数组
	#增强for
	for i in ${a[@]}
	do
	echo ${i}
	done
	
	#fori
	for((i=0;i<=7;i++))
	do
	echo ${a[i]}
	done
	
	case 值 in
	1)语句
	;;
	2)语句
	;;
	esac

注释:(EOF为开头和结尾)

#单行注释
	:<<EOF
	echo "hello"
	EOF

传参:

./args.sh hello nihao zaijian youshinihao	
	#传递第1个参数
	echo $1
	#传递参数的数量
	echo $#
	#传递的所有参数
	echo $*
	#报错数
	echo $?

数值运算:

#!/bin/bash
	a=1
	b=2
	echo `expr $a + $b`
	echo `expr $a - $b`
	echo `expr $a \* $b`
	echo `expr $a / $b`
	echo `expr $a % $b`
	if [ $a == $b ]
	then echo "a==b"
	elif [ $a != $b ]
	then echo "a!=b"
	fi
	
	num=$[1+1]

不换行:

echo -n
echo -e "字符串\c" -e开启转义

判断:

  • 是否存在:-e 文件名
  • 是否可读:-r 文件名
  • 是否可写:-w 文件名
  • 是否可执行:-x 文件名
  • 是否是目录:-d 文件名
  • 是否是文件:-f 文件名

计时:

TMOUT=3
	read -p "请输入任意值:" n
	if [ $? -eq 0 ]
	then
	echo $0
	else
	echo "3s已过"
	fi

函数:

#无返回值函数
	print(){
	  echo "hello"
	}
	print

	#有返回值
	add(){
	  return $[$1+$2]
	}
	print
	add $1 $2
	echo $?

定时:

详细看菜鸟教程
https://www.runoob.com/w3cnote/linux-crontab-tasks.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值