Linux——脚本02——变量
一、自定义变量和环境变量
- 环境变量
- 永久系统级环境变量:每个登录到Linux系统的用户都能够读取到的环境变量;
/etc/profile
、/etc/bashrc
、等,对其的修改将影响到每一个用户。 - 永久用户级环境变量:每个登录到Linux系统的用户只能够读取到属于自己的用户级的环境变量。这样用户登录后,将由自己专用的运行环境。一般写在
~/.profile
、~/.bashrc
等,对其的修改只对该用户有影响。 - 临时用户级环境变量:直接使用export变量即可,该变量只在当前的shell或其子shell下是有效的, shell关闭了,变量也就失效了,再打开新shell时就没有这个变量
- (环境变量的作用:当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。)
- 永久系统级环境变量:每个登录到Linux系统的用户都能够读取到的环境变量;
- 非环境变量,也就是自定义变量: 用户使用赋值符号=自定义,比如某个用户(包括root)自己写的某个程序中的自定义变量。
位置变量:$0:获取脚本文件的名字。
变量的两种赋值方式: 1)显示赋值:用赋值符 = 直接赋值; 2)非显示赋值:read:读取用户在键盘输入的值;
变量的两种作用范围: 1)自定义变量:类似于C语言的局部变量,只在当前shell有效; 2)环境变量:类似于C语言的全局变量,在当前shell和子shell有效;
赋值说白了,就是将一个字符串或直接或间接地赋值给一个变量。
如果有空格,就用上双引号“ ”或者单引号‘ ’;
如果要取值,就用上弱引用“ ”;
但是无论弱引用还是强引用都不可以命令替换,因为他们都是引用一个变量;
如果要执行命令,就要用上命令替换——反引号` `或者括号$(),他们会先将命令执行一遍再把得到的字符串赋值给变量。
二、变量内容的删除、切片、替换
删除: #或者%
切片: ::
替换: / /
1、变量内容的删除
2、切片
语句一表示从0开始切,一共切5个;
语句二表示从5开始切,一共切5个;
3、内容的替换
语句一表示把 /sina替换成/baidu
注意:贪婪匹配 用 // 表示;
三、变量内容的替代