编程语言有两类
强类型:如C语言。数据具有其特定的类型,先声明定义后才能使用。数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算)
弱类型:如shell。数据默认为字符型,不用事先声明。数据运算时会自动转换数据类型。
1、变量
变量命名规则
变量类型
变量引用
1.1、变量命名规则:
- 变量由字母、数字、下划线组成。
- 不能由数字开头
1.2、变量类型:本地变量、环境变量、局部变量、特殊变量(内置)、参数变量、只读变量。
注意如果变量没有定义在shell的配置文件,那么他的生命周期只是当前shell进程,一退出就失效。
作用域示例:
本地变量:可以看到再次打开一个bash时使用echo $test并不会输出s1。所以本地变量的作用域为当前shell。
环境变量:子shell也起作用
变量定义示例:
1.3、变量引用(对上表的补充):
2、shell脚本编程:利用系统上的命令和编程组件的面向过程的编程。
2.1bash的配置文件:profile类和bashrc类
profile类:为交互式登录的shell提供配置
bashrc类:为非交互式登录的shell提供配置
交互式:通过终端输入用户名和密码登录后打来shell
通过su - USERNAME或su -l USERNAME登录后打开的shell
配置文件读取顺序:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->/etc/bashrc
非交互式:通过su USERNAME执行的登录
GUI图形界面下打开的终端
运行脚本文件中打开的shell
配置文件读取顺序:~/.bashec-->/etc/bashrc--->/etc/profile.d/*
总结:两者的区别可以简单的说成是——是否需要输入密码。
2.2配置文件修改后生效示例
注意,修改配置文件不会立即生效可以使用.(英文点号)或者source来强制重读配置文件,使得修改立刻生效
首先修改.bashrc文件添加alias ech='echo $PATH'
使用alias并没有打印出我们刚添加的命令别名,使用ech直接报错
使用source FILE_NAME重读配置文件后使用alias命令,可以看到我们新添加的ech。
shell编程其他文章请点击下边链接