重新点亮shell————变量[三]
2021-12-26 00:10
986 查看
前言
简单介绍一下shell的变量。
正文
- 变量的定义
变量名的命名规则
字母、数字、下划线
不以数字开头
变量的赋值
在赋值的时候不能出现空格 a =123,在等号前面有一个空格,那么会报错。
这是因为空格之后当做另外一条命令。
然后可以使用let 进行复制,let a=10+20 这个可以进行计算复制。
同样如果想要命令赋值,可以这样 l=ls,那么后面l就表示了ls的意思。
将命令结果赋值给变量,使用$()或者``.
使用let c=$(ls -l /etc)
变量有空格等特殊字符可以包含在""或者''中。
- 变量的引用
例子:
string1="hello word" echo ${string1} 或者 echo $string1
- 变量的作用范围
变量的作用范围,默认为当前的shell为变量的作用范围。
这里有一个例子,当复制为a=1,然后使用bash,开启了一个子shell,然后发现无法访问a了,说明子shell和父shell不互通变量。
那么如果想两个脚本变量互通怎么办?source x.sh,这样就可以了。
- 系统环境变量
那么如果想让子shell和父shell互通变量怎么办?可以使用export来实现。
export 其实这就全局了的意思了,那么如果用完之后最好unset去删除。
这其实就是环境变量了,那么可以通过env来查看一下。
说起环境变量,那么$Path 是比较重要的,可以自我了解一下。
然后还有一个就是ps1了。
这个就是我们显示的了。
预定义变量: ?、$、$0
就简单介绍一下这三个。 $? 表示上一条命令是否正确执行,正确的就是0了,其他都是错误的。
![](https://img2020.cnblogs.com/blog/1289794/202112/1289794-20211225234159918-1488728040.png) $0 为当前进程的名称: ![](https://img2020.cnblogs.com/blog/1289794/202112/1289794-20211225234239393-1979180176.png) 位置变量:$1 $2 $3 这些表示的是第几个变量的意思。 然后关于默认值的问题:${2-_} 这个意思是如果2没传的话,那么默认就是_。 6. 环境变量配置文件 配置文件有: 1. /etc/profile 2. /etc/profile.d/ 3. ~/.bash_profile 4. ~/bashrc 5. /etc/bashrc 这里有很多配置文件,但是这些文件还是有区别的。 比如在etc目录下的,那么就是所有用户通用的了。 那么这里可以看到有profile的,也有没有profile的。 su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。 如果使用,su - [user],那么切换的时候会加载/etc/profile ~/.bash_profile ~/bashrc /etc/bashrc 执行顺序也是如此,这个还是比较关键的,毕竟后面的执行顺序要大于前面的。 如果使用su [user] 那么只会加载~/bashrc /etc/bashrc。 通用需要了解的是当我们修改完配置后,配置是不会立即生效的,如果想让其立即生效,那么可以使用source这个命令,进行重新加载。 ### 结 下一节就介绍具体的语法了。
相关文章推荐
- Shell脚本定义变量和重新赋值
- Shell脚本定义变量和重新赋值
- 重新点亮shell————什么是shell[一]
- shell学习二十六天----变量与算数
- 管道符及shell变量
- Shell中的预定义变量
- shell,makefile打印变量的不同
- 由test -n/-z 引发的关于shell变量问题的探讨
- shell变量
- shell1--变量定义
- Shell基础:变量类型 & 运算符
- sed中引入shell变量
- Bash shell(二)-变量的丰富功能
- shell中的一些特殊变量
- python和shell变量互相传递
- Linux Shell(一)——Shell变量
- Shell脚本中变量$
- 第9章 Shell基础(4)_Bash的运算符及环境变量配置文件
- Shell脚本应用(shell脚本基础与shell变量)
- shell位置参数及特殊变量