Shell编程基础(三)环境变量 & 位置变量 & 系统内置变量

环境变量 &

环境变量

在脚本种直接定义的变量,只能在当前shell进程中使用

若想要在其他shell进程中使用,可以将变量声明为 环境变量

export 变量名 :用于导出已有变量到环境变量

export 变量名=变量值:直接声明一个新的变量为环境变量
注意:命令行 执行 export 声明的环境变量,只在当前shell 以及 其子shell中有效,其他不相关的shell进程中无效

要想环境变量全局有效,需在指定的文件中定义环境变量。

环境变量范围

父子进程之间有效

在当前进程中,通过 export 指定的环境变量,只在当进程及其子进程中有效

指定用户有效

在用户目录(cd 或者 cd ~ 可切换到当前用户目录)下有个文件 ==.bash_profile ==这里面声明的环境变量,只对当前用户有效。

如 root用户的目录为 /root

自定义的用户(kalpana)目录为**/home/kalpana**

其原理是,开机登录时会加载这个脚本。因此也可以在这个脚本里面做一些,开机的初始化操作(自启动应用等)。

所有用户有效

针对所有用户都有效的环境变量可以在 /etc/profile 下进行声明。

原理同上,只不过这个文件是所有用户在开机 时,会加载这个文件。

同样这里面可以设置一些初始化操作。

位置变量

我们在执行命令,脚本时,有时会传参,那么在脚本内,就可以通过

$ + 序号的方式获取相应位置的参数了。

$0 代表的是命令本身,1开始取参数

位置变量和read 交互式输入变量都可以达到类似的效果,但是read可以给出提示语更加直观

系统内置变量

$0 : 脚本名称

#:参数个数;这里可以联想到 字符串长度 {#str} 和 数组长度 ${#arr@/\*}

$?:脚本返回值 0代表成功

$$:当前shell进程id

$@:参数列表

$ *:参数拼接的字符串

相关推荐
吴声子夜歌3 天前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
吴声子夜歌5 天前
Shell编程实例——内务及管理任务(一)
linux·运维·shell
吴声子夜歌5 天前
Shell编程实例——高级脚本编程(一)
linux·运维·网络·shell
吴声子夜歌5 天前
Shell编程实例——bash的配置与自定义(二)
linux·运维·shell
吴声子夜歌6 天前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
吴声子夜歌6 天前
Shell编程实例——脚本编程的附加特性
linux·运维·shell
云计算练习生6 天前
什么是内核?操作系统内核到底管哪些事
linux·windows·操作系统·内核·shell
吴声子夜歌9 天前
Shell编程实例——bash入门
linux·运维·shell
Swizard9 天前
Linux 日志神器 journalctl 完全指南:彻底替代传统日志查看方式
shell
吴声子夜歌10 天前
Shell编程——数组
linux·运维·shell