【linux】shell基础语法

目录

1. 运算符的使用

1)基本语法

使用示例

2 条件判断

1)基本语法

2.1 两个整数判断

2.2 按照文件执行权限进行判断

2.3 按照文件类型进行判断

流程控制

1. if判断

1.1 单分支

1.2 多分支

2.for循环

示例

3 while循环语句

基础语法

示例

4 读取控制台输入

基本语法

示例


命令功能描述
$#获取参数个数
$*代表命令行中所有的参数,$*把所有参数看做一个整体
$@代表命令行中所有的参数,不过$@把每个参数区分看待
$?最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行。

1. 运算符的使用

1)基本语法

  • $((运算式))
  • $[运算式]
表达式描述
expr 1 + 2加号两侧必须添加空格
expr 1 * 2*为Shell特殊变量,乘号必须加转义符,同时也必须添加空格
$[5*2]*号两端有无空格都可以
$((5*2))*号两端有无空格都可以
a=$(expr 5*2)使用expr作为表达式赋值变量,为避免被作为字符串,需要将其添加()。

使用示例

#!/bin/bash
sum=$[$1 + $2]
echo sum=$sum

2 条件判断

1)基本语法

test condition

[ conditiom ] (注意中括号前后必须要有空格)

[ 2 = 8 ]
$?

2.1 两个整数判断

常用判断条件描述
-eq等于(equal)
-ne不等于(not equal)
-lt小于(less than)a=15 ; [ $a -lt 20 ] && echo "a<20"
-le小于等于(less equal)
-gt大于(greater than)
-ge大于等于 (greater equal)

2.2 按照文件执行权限进行判断

判断条件描述
-r有读权限(read)/ [ -r sum.sh ]
-w有写权限(write)
-x有执行权限(execute)

2.3 按照文件类型进行判断

判断条件描述
-e文件存在(exsitence)
-f文件存在并且是一个常规文件
-d文件存在并且是一个目录

流程控制

1. if判断

1.1 单分支

if [ 条件判断式 ];then
   程序
fi

if [ 条件判断式 ]
then
   程序
fi

多个条件判断采用逻辑与 && 或者逻辑或 ||

[ $age -gt 18 ] && [ $age -lt 35 ]; then echo ok; fi
if [ $age -gt 18 -a $age -lt 35 ];then echo ok;fi

1.2 多分支

if [ 条件判断 ]
then
    程序
elif [ 条件判断 ]
then 
    程序
else
    程序

fi

2.for循环

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


for 变量 in 列表
do
    语句
done

示例

#!/bin/bash
str_array=(str1 str2 str3)
for str in ${str_array[*]}
do
        echo "${str}"
done
#!/bin/bash
str_array=(str1 str2 str3)
for ((i=0; i<3; i++))
do
        echo "$i ${str_array[i]}"
done

3 while循环语句

基础语法

while [ condition ]
do
    command1
    command2
    ...
done

示例

i=1
while [ $i -le 10 ]
do
  echo $i
  i=$((i+1))
done

4 读取控制台输入

基本语法

read (选项) (参数)
1)选项
    -p: 指定提示符
    -t: 指定读取值时等待的时间(秒)如果-t不加表示一直等待
    -s: 不回显输入的字符
2)参数
    变量:指定读取值的变量名

示例

#!/bin/bash
read -t 10 -p "please input your name :" name
echo "hello, $name"
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值