shell编程 3 变量

用户自定义变量:

一,规则

1,变量不能以数字开头,比如2age这不是合法的变量,变量的默认类型都是字符串。

2,变量用=连接值,=之间不能有空格

3,如果变量值包含空格,需要用''或者“”将值括起来

4,环境变量名建议大写

5,如果将命令的结果作为变量值赋予变量,则需要使用反引号`或者$()包含命令

5,自定义变量只在当前的shell中生效

二,变量查看与删除

set查看系统中所有的变量

unset删除系统中某个变量

---------------------------------------------------------------------------------

环境变量

一,规则

1,环境变量不仅在当前的shell中生效,而且这个shell下面的子shell也生效,如果把环境变量写入配置文件,那么这个环境变量在所有的shell中生效

2,声明环境变量:exportbianliang=12;

二,相关命令

pstree命令查看进程树

env查看环境变量

三,PATH变量

1,系统查找命令的路径,中间以:冒号来分割

2,不建议将自己写的脚本放在PATH的路径当中,避免混乱

----------------------------------------------------------------------------------

位置参数变量:目的是将命令行中输入的参数传递到shell脚本当中

一,规则

1,$0代表命令本身,$1-$9代表命令中传递的第一个到第九个参数,如果参数大于9个,则需要用大括号括起来,如:${10}

$*代表命令中所有的参数,并当做一个整体看待在循环当中之后循环1次

$@代表命令中所有的参数,把每个参数区分对待在循环当中有几个参数就会循环几次

$#代表命令中所有的参数的个数

----------------------------------------------------------------------------------

linux把进程放置在后台需要引用&符号,比如ls-rlt&

预定义变量

一,规则

1,$?代表上条命令的返回结果传递给$?,如果命令不存在返回127,执行失败是非0的数字,执行正确是返回0

2,$$当前进程的PID号

3,$!后台运行的最后一个进程的PID号

二,接收键盘输入

read选项变量名

read-t30-p"请输入姓名:"name等待用户30秒输入name

read-s-p"请输入年龄:"age隐藏用户输入的age

read-n1-t30-p"请输入性别:"sex等待30秒等待用户只能输入1个字符代表sex

相关推荐