Shell编程基础入门

1.Shell中的特殊变量

$?表示上一个命令退出的状态	成功返回0	失败返回的就是不一定了  本质就是命令的返回值
$$表示当前进程的进程编号
$0表示当前脚本的名称
$n表示位置变量(n代表数字,n>=1)
$#表示变量的个数,常用于循环
$*和$@都表示参数列表
	区别
		$*当别双引号包含时,"$*"会将所有的参数作为一个整体,以"$1 $2 $3 ... $n"的形式输出所有的参数
		"$@"会将各个参数分开,以"$1""$2"..."$n"的形式输出所有的参数

2.for循环

第一种
	for p $*
	do 
	echo $p
	done
第二种
	for((i=0;i<=5;i++))
	do	
		echo "hello"
	done

3.while循环

第一种
	while expression(布尔表达式)
	do	
	...
	done
第二种
	i=1
	while((i<=3))
	do
	echo $i
	let i++
	done

4.case语句

格式
	case $1 in
	start)
		echo "starting"
		;;(一定要写)
	stop)
		echo "stoping"
		;;
	*)	
		echo "都不是"
	esac	

5.运算符

格式:expr m + n 或$((m+n))注意expr运算符之间要有空格
例如计算(2+3) x 4的值
1.分步计算
	S=`expr 2 + 3`
	expr $S \* 4
2.一步完成
	expr `expr\`expr 2 + 3\`\*4
或者$(((2+3)*4))

6.read命令(从终端获取输入参数)

read -p "将要显示得提示信息" -n(字符个数) -t(等待时间)
例如:
	read -p "请输入姓名:" c(这个是用来存储这个输入得信息得)

7.if判断

语法
	if condition
	then
		statements
	[elif condition
		then
		statements ...]
	[else
		statements]
	fi
例如
	if [ $NAME=root ]
	then 
		echo "hello ${NAME},welcome!"
	elif [ $NAME=CentOS1 ]
	then 
		echo "hello ${NAME},welcome!"
	else
		echo "hello"
	fi

8.判断语句

[ condition ] && echo ok || echo notok
满足执行ok 不满足执行 notok

9.常用判断条件

常用比较条件
	= 字符串比较
	-lt 小于
	-le 大于等于
	-eq	等于
	-gt 大于
	-ge	大于等于
	-ne 不等于
对文件得判断
	-r	有读得权限
	-w	有写得权限
	-x	有执行得条件
	-f	文件存在并且是一个常规文件
	-s  文件存在且不为空
	-d	文件存在并且是一个目录
	-b	文件存在并且是一块设备
	-L	文件存在并且是一个链接

10.Shell自定义函数

语法
	function funname[()]
	{
		...;
		[ return int; ]
	}

11.shell程序得调试

sh -vx xxx.sh

猜你喜欢

转载自blog.csdn.net/qq_40395687/article/details/84496209