您的位置:首页 > 运维架构 > Shell

shell知识整理(很详细的知识点!!!)

2011-12-22 20:50 225 查看
1、脚本文件命名
*.sh

2、自定义变量

name=zhangsan

echo $name

结果:zhangsan

3、#env—显示当前用户的环境变量

4、export—声明全局变量

5、{}的用法

#name=zhangsan

#echo {$name}is a student

6、、> >>输出符号

< <<输出符号

#cat <&0 表示接受来自键盘的输入

#cat <&file 表示接受来自文件的输入

数值运算

1)expr 3 +2

expr $name - 1

2)echo ((1+1))

7、输入输出描述符

输入:键盘 0

输出:屏幕 1

错误输出:分离 2

8、/dev/null---虚拟出来的一个设备,可以用来存储垃圾文件

9、read—从键盘读取变量的值

10、常见参数

1)$?---表示显示最近一条命令的执行状态

状态分类:

0:成功

1:失败

2)条件:

test 操作数1 操作符 操作数2

test 1 〉 2

操作符:

数值类型数据比较

字符串类型数据表较

文件类型数据表较

[ ]:代替test

注意括号前后加空格

操作数和操作符之间要有空格

[ -x file ]

. 脚本文件

Sh 脚本文件

./脚本文件

双引号:解释变量

单引号:当作字符串显示

$#:参数的总的数量

$*:显示所有参数

$1:各个参数

$2……$9

shift
:将参数向前移n位

3)测试命令分类

算术:

-eq 等于

-ne 不等于

-gt 大于

-lt 小于

-ge 大于等于

-le 小于等于

字符串:

String 长度是否为零 不为零--true

-z string 长度是否为零 为零--true

String1=string2 是否相等

String1!= string2

文件测试表达式: --true

-e file 是否存在

-s file 存在且大小为零

-f file 存在 为普通文件

-d file 存在且为目录

-b file 存在且为块文件

-c file 存在 字符文件

-L file 存在 符号链接文件

-r file 存在 可读文件

-w file 存在 可写文件

-x file 存在 可执行文件

-O file 存在 属于当前用户

-G file 存在 属于当前用户组

File1 -nt file2 file1新于file2

File1 -ot file2 file1 旧于file2

11、流程控制结构

1) If:

If 条件

Then

执行命令

elif 条件

then

。。。

else

。。。

fi

File5.sh

执行命令的状态也可以当作条件

$?----

内核通过接受到命令退出时返回的数字,判断该命令是否执行成功

exit 100

例如:

测试接受参数清款

如果接受的参数大于3个,提醒

如果小于3个,显示参数

在命令行输出:

vi file1.sh

#!/bin/bash

if [ “$#” –gt 3 ]:then

echo “params is greater than 3”

else

echo $1

echo $2

echo $3

fi

2)case语句

语法

Case 值 in

模式1|模式3)

命令1

。。。

。。。。

;;

模式2)

Esac

提醒:模式里可以使用通配符

3)for循环

语法:

for 变量名 in 列表

do

命令1

。。。

done

4)until

until 条件

do

命令。。。。。

done

5)while

while 条件

do

命令

done

6)

break:终止当前循环

contine:终止当前次循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: