环境变量
环境变量是操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序将使用到的信息,一般用来指定操作系统或者应用程序运行环境的一些参数,比如临时目录位置和应用程序搜索位置等。通常环境变量的配置信息保存在
/etc/profile
文件中。
常用的环境变量
Shell 环境中保存了一份完整的环境变量定义表,系统启动时 BSP 会自动将此文件中对环境变量的定义导入到 Shell 环境中,用户可以使用 env 命令查看系统所有环境变量。当启动一个应用程序时,此份环境变量会导入到应用程序进程中(同时创建几个标示应用程序参数的环境变量,如 HOME 等)。
环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用与具体的环境变量相关。SylixOS 常用的环境变量如下所示:
环境变量名 | 简要说明 |
---|---|
XINPUT_PRIO | xinput 子系统优先级 |
TERM_PS_COLOR | 终端颜色设置 |
SO_MEM_PAGES | 应用程序初始堆内存空间页面数 |
SO_MEM_MBYTES | 应用程序初始堆内存空间兆字节数(优先被使用) |
SO_MEM_DIRECT | 应用程序是否允许使用缺页中断分配内存 |
SO_MEM_CONTIN | 应用程序不允许使用缺页中断分配内存,且内存必须为物理空间连续 |
DEBUG_CRASHTRAP | Crash trap 调试 |
LANG | 语言选择 |
LD_LIBRARY_PATH | 动态装载器搜索路径 |
PATH | 应用程序搜索路径 |
NFS_CLIENT_PROTO | NFS 客户端协议 |
NFS_CLIENT_AUTH | NFS 登录验证模式 |
SYSLOGD_HOST | syslogd 远程地址 |
KERN_FLOAT | 内核是否支持浮点格式(1 支持,0 不支持) |
TSLIB_CALIBFILE | 触摸屏校准文件 |
TSLIB_TSDEVICE | 触摸屏校准关联设备 |
MOUSE | xinput 子系统侦测鼠标设备集 |
KEYBOARD | xinput 子系统侦测键盘设备集 |
STARTUP_WAIT_SEC | 执行 startup.sh 脚本前的等待时间 |
TZ | 系统所在时区 |
TMPDIR | 临时文件夹 |
HOME | HOME 目录 |
LUA_CPATH | LUA 脚本路径 |
LUA_PATH | LUA C 脚本路径 |
VPROC_MODULE_SHOW | 是否启用进程加载模块显示功能 |
VPROC_EXIT_FORCE | 主线程退出后是否自动删除子线程 |
LOGINBL_REP | 网络登录黑名单的刷新时间 |
LOGINBL_TO | 连续几次登陆将其加入黑名单 |
用户同样可以在命令行中引用环境变量的值,引用格式为 ${VAR_NAME}
。遇到此参数时 ttinyShell 会自动使用环境变量的内容来替代 ${VAR_NAME}
。例如:ttinyShell 执行 echo ${PATH}
命令,系统将会回显 PATH 环境变量的内容。
添加环境变量
用户可以添加自己的环境变量,添加方式如下:
VAR=VALUE
使用命令 varsave 将 Shell 环境变量保存到默认的配置文件/etc/profile 中,一个环境变量可以有多个不同的值,不同的值之间用冒号进行分割,如下所示:
PATH /usr/bin:/bin:/usr/local/bin:/home/user