shell变量、运算符、函数

shell

1、变量

$HOME
$PWD
$SHELL
$USER

1)赋值变量 —等号两边不能有空格
a=2 #赋值变量
unset a=2 #取消赋值
2)变量默认类型都是字符串,不能直接进行数值运算
3)变量如果有空格,需要用引号引起来
4)可以把变量提升为全局变量,可供其他shell程序使用 —export 变量名
5)$n ###n 表示数字,$0代表脚本名称,$1- 9 表 示 第 1 − 9 个 参 数 , 10 以 上 的 参 数 , 需 要 用 大 括 号 包 含 , 如 9表示第1-9个参数,10以上的参数,需要用大括号包含,如 91910{10}
6)KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ 获取所有输入参数个数,常用于…* 这个变量代表命令行中所有参数, ∗ 把 所 有 参 数 看 成 一 个 整 体 8 ) *把所有参数看成一个整体 8) 8@ 这个变量也代表命令行中所有参数,不过 @ 把 每 个 参 数 区 分 对 待 9 ) @把每个参数区分对待 9) @9? 最后一次执行命令返回的状态,如果是0,代表上一次执行正确,如果非0,则证明不正确,具体数值可自定

2、运算符

1) $((运算式)) 或 $[运算式]
2) expr +,-, * , /, % 注意:expr运算符之间要有空格

3、条件判断 基本语法 [ ],条件非空即ture,条件为空返回false

1) = 字符串比较
2) -lt 小于 less(下) greater(大) equal(等) than
3) -eq 等于
4) -ge 大于等于
5) -le 小于等于
6) -gt 大于
7) -ne 不等于
8) -f 文件存在且是file
9) -e 文件存在
10) -d 存在且是目录存在
11) -r -w -x 判断权限
12) && || 与或命令

4、if判断 if后要有空格

if [ 条件];then
程序
fi


if [ 条件]
then
程序
fi

###########示例
#if函数
#if [ $1 -eq 1 ];then

echo “haha”

#elif [ $1 -eq 2 ];then

echo ‘hhee’

#fi

5、case语句

case $变量名 in
“数值1”)
程序1
;;
“数值2”)
程序2
;;

*)
如果值与上面都不同,执行此行
;;
esac

########示例
#case $1 in

1)

echo ‘haha1’

;;

2)

echo ‘haha2’

;;

*)

echo “wuliao”

;;

#esac

6、for循环1

for (( 初始值;循环控制条件;变量变化))
do
程序
done

###########示例
#for 循环
#j=0
#for (( i=1; i<=100; i++ ))
#do

j= [ [ [j+$i]

#done
#echo $j

7、for循环2

for 变量 in 值1 值2 …
do
程序
done

###########示例
#for循环2
#for i in $*
#do

echo $i

#done

8、while

while [ 条件判断 ]
do
程序
done
###########示例
#while循环
#i=1
#result=0
#while [ $i -le 100 ]
#do

result= [ [ [result + $i]

i= [ [ [i+1]

#done
#echo $result

9、read读取控制台输入

read(选项)(参数)
选项)
-p :指定读取值时的提示符
-t :指定读取时等待的时间(秒)
参数)
变量:指定读取的变量名

######示例
#read读取
read -t 7 -p "please input: " NAME(表示输入赋值给的变量)
echo $NAME

10、系统函数

1)basename ## 会删除所有前缀包括最后字符,示例如下
[root@wanghaha shell_study]# basename /home/shell_study/
shell_study

[root@wanghaha shell_study]# basename /home/shell_study/01.sh .sh ##后面再加后缀,表示后缀也去掉
01

2)dirname ##从给定的包含绝对路径的文件名中去除文件名(非目录部分),然后反回剩下路径
[root@wanghaha shell_study]# dirname /home/shell_study/01.sh
/home/shell_study

11、自定义函数

1)语法
[funcation] funname[()]
{
Action;
[return int;] ##一般采用$?

}
funname
2)要求
1>必须在调用函数地方之前,先声明函数,shell是逐行运行
2>函数返回值,只能通过$?系统变量获取,可以显示加:return,如果不加,将以最后一条命令运行结果,作为反馈回值,return后面跟数值n(0-255)
####示例:

简单求和函数
function sum()
{
s=0;
s=$[$1 + $2]
echo $s
}
read -p "please input number1: " P1
read -p "please input number2: " P2

sum $P1 $P2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值