shell基础

一.sh脚本

1. #!/bin/bash,使用./test.sh(chmod +x test.sh使之具有可执行权限)

2. /bin/sh test.sh

二.变量

1. 定义变量时,需要加$等符号,直接定义即可:

test_name="test"

2. 使用$使用变量,也可以在变量外面加个花括号:

echo ${test_name}

3. 在变量前加个readonly就是只读变量了:

readonly test_name

4. 使用unset删除变量

5. 包括了局部变量和环境变量两种类型

6. 单引号和双引号都可以用来表示字符串,但是双引号中还可以有变量和转义字符,单引号里面的内容原样输出

7. echo ${#test_name}输出test_name的长度
8. echo ${test_name:1:3}输出est

...

三.数组

1. 数组名={值1 值2...值n},例如array={123, 234}

2. ${array[下标]}取某个下标的元素,${array[@]}或者${array[*]}求数组所有元素

3. ${#array[@]}或者${#array[*]}求数组个数

...

四.注释

1. 使用#或者:<<! 注释内容 !

五.传参

1. $0 $1 ... $n ,表示文件名,第1个参数... 第n个参数

2. $#传递参数的个数,$*和$@表示传递的参数,

六.运算符

1.expr表达式

2.算数运算符,+ - * / % == != =,求值的时候需要用空格隔开运算符

val=`expr 2 + 2` 

echo $val

3.关系运算符

-eq

-nq

-gt

-lt

-ge

-le

4.布尔运算符

!

-o

-a

5.逻辑运算符

&&

||

6.字符串运算符

=

!=

-z

-n

&

7.文件测试运算符

-b file

-c file

-d file

...

七.echo命令

八.printf命令

九.test命令

十.流程控制

1.分支

if condition

then

...

...

fi

 

if condition

then

...

...

else

...

fi

 

if condition1

then

...

elif condition2

then

...

else

...

fi

2.循环

for var in ... (如果do和for写在一行,需要在do前加分号;)

do 

...

done

 

while condition

do

...

done

死循环:

while :

do

...

done

while true:

do

...

done

for (( ; ; ))

 

until condition

do

...

done

 

case 值 in

模式1)

;;

模式2)

;;

esac

十一.函数
函数名(){

}

十二.重定向

>

<

>>

>&

<&

<<

十三.文件包含

. 文件名

或者

source 文件名

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值