Shell-(二)Shell变量与运算符
本文最后更新于:May 10, 2022 pm
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
目录
查看当前所处bash
1 |
|
系统预定义变量
$HOME、$PWD、$SHELL、$USER等。
查看所有变量
1 |
|
查看系统变量的值
1 |
|
自定义变量
定义变量:
变量名=变量值
(注意:等号(=)两边不能有空格。如果变量值中有空格,则用单引号或双引号)可以用set查看所有的变量,但env就不能查看局部自定义变量。
撤销变量:
unset 变量名
修改变量:再一次定义相同变量即可。
全局变量
将已有的变量设置为全局变量:
export 变量名
1 |
|
这里需要注意的是:内部Bash定义的全局变量无法在外部的Bash中使用;但外部Bash定义的全局变量在内部Bash中是可以使用的。
子Bash使用父Bash的全局变量时,实际是Copy了一个全局变量。比如在子Bash中修改父Bash中定义的全局变量时,在子Bash中再次查看时是可以修改成功的,但在父Bash中查看时仍然是之前的值,并没有修改成功。即在子Bash中的修改对父Bash是没有效果的,只会在子Bash中才会有效。
只读变量
形式:
readonly
变量名=变量值
1 |
|
只读变量不可修改,不能unset。
特殊变量
$n
n为数字,$0表示该脚本名称,$1~$9 代表第一个到第九个参数,有10个以上的参数需要用大括号包含,如:${10}等。
示例:
脚本 parameter.sh
1 |
|
执行:
1 |
|
$#
获取输入参数的个数。
1 |
|
执行:
1 |
|
其他特殊变量
- $*:代表命令行中所有的参数,把所有的参数都看成一个整体。
- $@:代表命令行中所有的参数,把每个参数区分对待。
1 |
|
执行:
1 |
|
$?
最后一次执行的命令的返回状态。如果这个变量输出结果为0,则表示上一个命令正确执行;如果为非0,则表示上一个命令执行不正确。
也可以理解成用来判断上一个命令的执行是否出错,0表示没有出错;非0表示出错了。
1 |
|
运算符
基本语法:$((运算式))、$[运算式]
示例:
1 |
|
示例:
1 |
|
本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/ac66a49c.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!