当前位置: 首页 > news >正文

SylixOS Shell下操作环境变量方法

  1. 系统启动后会在内核中生成一份默认的环境变量,环境变量名和默认值由源程序决定。
  2. 系统启动后如果文件系统中存在有效的/etc/profile文件,则还会自动读取文件中的内容,并导入到Shell环境中,覆盖对应变量或增加新的变量。
  3. 程序运行时,以系统内的环境变量表为准而不是以/etc/profile文件为准,所以直接修改/etc/profile文件后需要通过 varload 命令重新加载才能生效。
  4. vars 命令用于查看系统内当前环境变量表。
  5. varload 命令用于加载某文件来配置系统环境变量,不指定文件参数则默认使用/etc/profile文件。
  6. varsave 命令用于将系统环境变量保存到指定文件,不指定文件参数则默认保存到/etc/profile文件中。对于"SYSTEM",“VERSION”,“LICENSE”,“TMPDIR”,"KERN_FLOAT"这5个环境变量,它们是由内核自动生成的,varsave命令保存时会自动跳过。
[root@sylixos:/root]# varload
environment variables load from /etc/profile fail, error: No such file or directory
[root@sylixos:/root]# varload /etc/profile_back
environment variables load from /etc/profile_back success.
[root@sylixos:/root]# varsave
environment variables save to /etc/profile success.
[root@sylixos:/root]#
[root@sylixos:/root]# cat /etc/profile
#sylixos environment variables profile.
DISPLAY="/dev/fb0"
XINPUT_PRIO="199"
QTDIR="/qt"
QPEDIR="/qt"
QWS_DISPLAY="sylixosfb:/dev/fb0"
QWS_MOUSE_PROTO="sylixosinput"
QWS_KEYBOARD="sylixosinput"
POINTERCAL_FILE="/etc/pointercal"
QT_PLUGIN_PATH="/qt/plugins"
QT_QWS_FONTDIR="/qt/lib/fonts"
QML_IMPORT_PATH="/qt/qml"
QML2_IMPORT_PATH="/qt/qml"
QT_QPA_PLATFORM_PLUGIN_PATH="/qt/plugins"
QT_QPA_PLATFORM="sylixosfb"
QT_QPA_FONTDIR="/qt/lib/fonts"
tetst="SylixOS kernel version: 2.1.6 Code name: Enterprise"
TERM_PS_COLOR=""
TERMCAP="/etc/termcap"
TERM="vt100"
LUA_CPATH="?.so;/usr/local/lib/lua/?.so;/usr/lib/lua/?.so;/lib/lua/?.so"
LUA_PATH="?.lua;/usr/local/lib/lua/?.lua;/usr/lib/lua/?.lua;/lib/lua/?.lua"
VPROC_MODULE_SHOW="0"
VPROC_EXIT_FORCE="0"
LOGINBL_REP="3"
LOGINBL_TO="120"
DEBUG_CRASHTRAP="0"
DEBUG_CPU="-1"
PATH_LOCALE="/usr/share/locale"
LC_ALL=""
LANG="C"
LD_LIBRARY_PATH="/qt/lib:/usr/lib:/lib:/usr/local/lib"
PATH="/usr/bin:/bin:/usr/pkg/sbin:/sbin:/usr/local/bin"
NFS_CLIENT_PROTO="udp"
NFS_CLIENT_AUTH="AUTH_UNIX"
SYSLOGD_HOST="0.0.0.0:514"
SO_MEM_DIRECT="0"
SO_MEM_PAGES="8192"
TSLIB_CALIBFILE="/etc/pointercal"
TSLIB_TSDEVICE="/dev/input/touch0"
MOUSE="/dev/input/touch0:/dev/input/mse0"
KEYBOARD="/dev/input/kbd0"
STARTUP_WAIT_SEC="1"
TZ="CST-8:00:00"
[root@sylixos:/root]#
  1. vardel 命令用于删除一个系统环境变量。
  2. 在Shell环境中可以直接引用环境变量的值,引用格式为 ${VAR_NAME},大括号可省略。遇到此参数时Shell会自动使用环境变量的内容来替代 ${VAR_NAME}。例如:执行 echo ${PATH}命令,系统将会回显PATH环境变量的内容。
  3. Shell环境中无需特定命令,可以直接添加或修改某环境变量,格式为:VAR_NAME=VAR_VALUE 。环境变量名必须由大小字母、数字或下换线组成,约定俗成是字母全大写。 变量值可以是任意可打印字符,或转移字符’\r’,‘\n’(会被转换为对应的ASCII值 ‘\r’–>0x0d,‘\n’ ‘–>0x0a),其他’‘形式的转移字符组合并不会被识别,而是会直接忽略’'字符,原样保留其他字符。等号前后不能有空格,否则会被认为是某条命令加参数,而不是环境变量操作。 等号右边变量值可以为空,用于创建空值的环境变量或将某环境变量的值置为空,如果要删除某变量需要用vardel命令。变量值可以用双引号括起来,也可以不扩。所有双引号括都会被忽略,如果变量值需要有双引号则需用转移字符 " 表示。变量值间不能有空格,否则会被分割为多个字串且只有第一个字串有效,如果需要输入的内容确实要有空格则要用双引号全部括起来。
[root@sylixos:/root]# echo ${PATH}
/usr/bin:/bin:/usr/pkg/sbin:/sbin:/usr/local/bin
[root@sylixos:/root]# echo $PATH
/usr/bin:/bin:/usr/pkg/sbin:/sbin:/usr/local/bin
[root@sylixos:/root]# TEST_PATH=
[root@sylixos:/root]# echo $TEST_PATH
sh: variable error.
[root@sylixos:/root]# vars
variable show >>VARIABLE      REF                       VALUE
-------------------- --- --------------------------------------------------
TEST_PATH
NT_PROTO                 udp
。。。
[root@sylixos:/root]# vardel TEST_PATH
[root@sylixos:/root]# echo $TEST_PATH
sh: variable error.
[root@sylixos:/root]# vars
variable show >>VARIABLE      REF                       VALUE
-------------------- --- --------------------------------------------------
NT_PROTO                 udp
DISPLAY                  /dev/fb0

[root@sylixos:/root]#
[root@sylixos:/root]# TEST_PATH=$PATH
[root@sylixos:/root]# echo $TEST_PATH
/usr/bin:/bin:/usr/pkg/sbin:/sbin:/usr/local/bin
[root@sylixos:/root]# TEST_PATH=.
[root@sylixos:/root]# echo $TEST_PATH
.
[root@sylixos:/root]# TEST_PATH=123 456
[root@sylixos:/root]# echo $TEST_PATH
123
[root@sylixos:/root]# TEST_PATH=“123 456”
[root@sylixos:/root]# echo $TEST_PATH
123 456
[root@sylixos:/root]#
[root@sylixos:/root]# TEST_PATH=“”“123 456"”"
[root@sylixos:/root]# echo $TEST_PATH
123 456
[root@sylixos:/root]# TEST_PATH=“”“123 456"”"
[root@sylixos:/root]# echo $TEST_PATH
123
[root@sylixos:/root]# TEST_PATH=“”“123"”"
[root@sylixos:/root]# echo $TEST_PATH
123
[root@sylixos:/root]# TEST_PATH=123\n456
[root@sylixos:/root]# echo $TEST_PATH
123
456
[root@sylixos:/root]# TEST_PATH=123\456
[root@sylixos:/root]# echo $TEST_PATH
123456
[root@sylixos:/root]#

  1. 当启动一个应用程序时,此份环境变量会导入到应用程序进程中,同时创建几个标示应用程序参数的环境变量,如HOME等。

相关文章:

SylixOS Shell下操作环境变量方法

系统启动后会在内核中生成一份默认的环境变量,环境变量名和默认值由源程序决定。系统启动后如果文件系统中存在有效的/etc/profile文件,则还会自动读取文件中的内容,并导入到Shell环境中,覆盖对应变量或增加新的变量。程序运行时&…...

【dfs解决分组问题-两道例题——供佬学会!】(A元素是放在已经存在的组别中,还是再创建一个更好?--小孩子才做选择,dfs直接两种情况都试试)

问题关键就是: 一个点,可能 新开一个组 比 放到已经存在的组 更划算 因为后面的数据,我们遍历之前的点时,并不知道 所以我们应该针对每个点,都应该做出一个选择就是 新开一个元组或者放到之前的元组中,都尝…...

使用Hexo在Github上搭建个人博客

使用Hexo在Github上搭建个人博客 1. 安装Node和git2. 安装Hexo3. Git与Github的准备工作4. 将Hexo部署到Github5. 开始写作 1. 安装Node和git 在Mac上安装Node.js可以使用Homebrew,使用以下命令安装: brew install node使用以下命令安装Git: …...

【面试题】面试官:说说你对 CSS 盒模型的理解

前言 CSS 盒模型是 CSS 基础的重点难点&#xff0c;因此常被面试官们拿来考察候选人对前端基础的掌握程度&#xff0c;这篇文章将对 CSS 盒模型知识点进行全面的梳理。 我们先看个例子&#xff1a;下面的 div 元素的总宽度是多少呢&#xff1f; js <!DOCTYPE html> &…...

【ROS2】学习笔记

1. 基础概念 1.1 执行单元 1.1.1 executable——执行程序 executable表示针对某个目标的程序执行流程&#xff0c;一个executable可以启动多个node&#xff1b; 1.1.2 node——“进程” node其实就是进程的意思&#xff1b; ROS2允许同时启动两个相同的node&#xff0c;&a…...

Springboot +Flowable,流程表单应用之外置表单(JSON形式)(二)

一.简介 整体上来说&#xff0c;我们可以将Flowable 的表单分为三种不同的类型&#xff1a; 动态表单 这种表单定义方式我们可以配置表单中每一个字段的可读性、可写性、是否必填等信息&#xff0c;不过不能定义完整的表单页面。外置表单 外置表单我们只需要定义一下表单的 k…...

JavaScript如何使用if语句

JavaScript的if语句可以让我们根据某些条件来执行不同的代码块。使用if语句的基本思路是将要执行的代码放在括号内&#xff0c;并使用if关键字进行匹配。下面是一些例子&#xff1a; 简单的if语句&#xff1a; let age 18; if (age > 18) { console.log("You are…...

XSS攻击以及java应对措施

文章目录 一. XSS攻击介绍1. 前端安全2. xss攻击简介3. xss的攻击方式 二. java应对xss攻击的解决方案1. 强制修改html敏感标签内容2. 利用过滤器过滤非法html标签 一. XSS攻击介绍 1. 前端安全 随着互联网的高速发展&#xff0c;信息安全问题已经成为企业最为关注的焦点之一…...

yolo 训练

这里写目录标题 分配训练集&Validation数量数据集读取读取全部文件夹替换路径 loss weightNMSBBox_IOUEIou Optimizer 分配训练集&Validation数量 validation_size training_size * validation_ratio / (1 - validation_ratio)training_size 219 validation_ratio …...

谷歌chrome浏览器升级新版后字体显示不清楚解决方案

谷歌chrome浏览器升级新版后字体显示不清楚解决方案 参考图片&#xff1a; Chrome更新至版本Chrome 109.0.5414.120 字体看不清 浏览器症状与表现 Chrome更新至版本Chrome 109.0.5414.120 字体看不清&#xff1b;会很细&#xff0c;在设置中选择自定义的字体&#xff0c;仍无法…...

在外包干了三年,我废了……不吹不黑!

没错&#xff0c;我也干过外包&#xff0c;一干就是三年&#xff0c;三年后&#xff0c;我废了…… 虽说废的不是很彻底&#xff0c;但那三年我几乎是出差了三年、玩了三年、荒废了三年&#xff0c;那三年&#xff0c;我的技术能力几乎是零成长的。 说起这段三年的外包经历&a…...

【Vue】学习笔记-消息的订阅与发布

消息的订阅与发布(基本不用) 消息订阅与发布(pubsub)消息订阅与发布是一种组件间的通信的方式&#xff0c;适用于任意组件间通信 消息订阅与发布 1.订阅消息∶消息名 2.发布消息︰消息内容 消息订阅与发布的工作流程&#xff1a; &#xff08;A是订阅者&#xff0c;B是发布…...

大疆无人机 MobileSDK(遥控器/手机端)开发 v5版<1>

文章目录 概要整体架构流程技术细节SDK 架构体系概述层级架构智能任务空白项目集成 MSDK新建空白项目新建 MyApplication.kt 文件修改 build.gradle(Module) 文件修改 AndroidManifest.xml 文件修改 MainActivity.kt 文件导入 UXSDK 开源框架4.X 和 5.X 版本差异说明DJIKey差异…...

azkaban介绍

目录 为什么需要工作流调度系统 什么是azkaban azkaban适用场景 azkaban特点 常见的工作流调度系统 azkaban和Ooize特性对比 azkaban的架构 azkaban调度的任务有可能有那些类型 总结 为什么需要工作流调度系统 一个完整的大数据分析系统&#xff0c;必然由很多任务单…...

自学黑客(网络安全)必学内容

随着时代的发展&#xff0c;经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起&#xff0c;线上线下已经打通&#xff0c;虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界&#xff0c;直接影响现实世界的安全。 …...

Java每日一练(20230518) 移除元素、跳跃游戏II、复原IP地址

目录 1. 移除链表元素 &#x1f31f; 2. 跳跃游戏 II &#x1f31f;&#x1f31f; 3. 复原 IP 地址 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 移…...

diff命令和vimdiff命令

文章目录 diff命令基本用法选项示例 vimdiff命令命令格式选项说明常用操作 diff命令 diff命令是一个文本比较工具&#xff0c;用于比较两个文件的内容&#xff0c;它会逐行比较两个文件的内容并输出它们之间的差异。下面是diff命令的常用选项和用法&#xff1a; 基本用法 比…...

AcWing 797.差分(C++)

目录 1.题目描述 2.AC 1.题目描述 797.差分 输入一个长度为 nn 的整数序列。 接下来输入 mm 个操作&#xff0c;每个操作包含三个整数 l,r,cl,r,c&#xff0c;表示将序列中 [l,r][l,r] 之间的每个数加上 cc。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两…...

Python每日一练(20230515) 只出现一次的数字 I\II\III

目录 1. 只出现一次的数字 Single Number 2. 只出现一次的数字 II Single Number II 3. 只出现一次的数字 III Single Number III &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 leetcod…...

基于【EasyDL】【图像分类】实现农作物病害识别小程序

内容、数据集来源:基于飞桨的农作物病害智能识别系统 - 飞桨AI Studio 项目背景 联合国粮食及农业组织的一份报告表明&#xff0c;每年农业生产的自然损失中有三分之一以上是由农业病虫害造成的&#xff0c;使这些成为当前影响农业生产和农业生产的最重要因素。需要考虑的农业…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...