编程语言有两类
强类型:如C语言。数据具有其特定的类型,先声明定义后才能使用。数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算)
弱类型:如shell。数据默认为字符型,不应事先声明。数据运算时会自动转换数据类型。
变量
变量命名规则:
- 变量由字母、数字、下划线组成。
- 不能有数字开头
变量类型:本地变量、环境变量、局部变量、特殊变量(内置)、参数变量、只读变量。
注意如果变量没有定义在shell的配置文件,那么他的生命周期只是当前shell进程,一退出就失效。
作用域示例:
本地变量
环境变量:子shell也起作用
变量定义示例:
变量引用(对上表的补充):
“”(双引号):弱引用,其中的变量引用会被替换为变量值
”(单引号) :强引用,其中的变量引用不会被替换为变量值,而保持原字符串
变量引用示例
shell脚本编程
利用系统上的命令和编程组件的面向过过程的编程。
bash的配置文件: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/*
总结:两者的区别可以简单的说成是——是否需要输入密码。
配置文件修改后生效示例
修改配置文件不会立即生效可以使用.或者source来强制重读配置文件,使得修改立刻生效
首先修改.nashrc文件添加alias ech=‘echo $PATH‘
使用alias并没有打印出我们刚添加的命令别名,使用ech直接报错
使用source FILE重读配置文件后使用alias命令,可以看到我们新添加的ech。
原文地址:https://www.cnblogs.com/wxxjianchi/p/9160293.html