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

Linux shell编程学习笔记6:查看和设置变量的常用命令

上节我们介绍了变量的变量命名规则、变量类型、使用变量时要注意的事项,今天我们学习一下查看和设置变量的一些常用命令,包括变量的提升,有些命令在之前的实例中已经使用过了。

一、 echo :查看变量的值

语法格式:echo [参数] [输出内容]

常用参数:

-e:支持反斜线控制的字符转换(具体参见表 1)

-n:取消输出后行末的换行符号(内容输出后不换行)

实例: 

user@myhost:~ >echo $SHELL
/bin/bash
user@myhost:~>exec dash
\u@myhost:\w>echo $0
dash
\u@myhost:\w>echo $SHELL
/bin/bash

二、 env命令:创建、删除、显示环境变量

语法格式:env [参数] [对象]

常用参数:

-i            :创建一个新的空白环境

-u           :从当前环境中删除指定的变量

--help     :显示帮助信息

--version:显示版本信息

实例:

user@myhost : ~ # env 
USER =USER
SHLUL=1
HOME =/home/tc 
PAGER=less一 EM
PS 1 =user@Myhost : \W #
ENU=/home/ tc/ . ashrc
BACKUP=1
LOGNAME=tc 
TERM=1 inux 
PATH=/home/tc/. local/bin:/usr/ local/sbin:/usr/ local/bin:/apps/bin:/usr/sbin:/usr
/bin:/sbin:/bin
G_ F ILENAME ENCOD ING= iso8859- 1
LANG=C
MANPAGER=less一 isR 
SHELL=/bin/sh
FLWM_ TITLEBAR COL0R=58:7D :AA
PWD=/ home/tc
EDITOR=vi
user@Myhost :#
 

三、printenv命令:查看环境变量的值

语法格式:printenv [参数] [变量]

常用参数:

–null      :以空字符而非新行符结束每一输出行
–help     :显示此帮助信息并退出
–version:显示版本信息并退出

如果不写变量名字,printenv则显示出所有的环境变量

实例1:显示所有的环境变量

user@Myhost : ~  # printenv
USER=USER
SHLUL=1
HOME=/ home/tc 
PAGER=less -EM
PS1 =user@Myhost : \W #
ENU=/home/tc/.ashrc
BACKUP=1
LOGNAME=tc
TERM=linux
PATH=/home/tc/. local/bin:/usr/ local/sbin:/usr/ local/bin:/apps/bin:/usr/sbin:/usr
/bin:/sbin:/bin
G_ FILENAME ENCOD ING= i so8859- 1
LANG=C
MANPAGER=less -isR
SHELL=/bin/sh
FLWM_ TITLEBAR COL0R=58:7D:AA
PWID=/home/tc
EDITOR=vi
user@Myhost : ~ #

实例2:显示环境变量PS1的值:

user@Myhost : ~ # prntenv PS1 
user@Myhost :\w #
user@Myhost : ~ #

这样的功能跟echo $PS1命令相似。


四、 set命令:显示与设置Shell变量信息

set命令的功能是用于显示与设置Shell变量信息,管理员也可以通过这个命令设置Shell终端特性,从而更好契合日常工作的需要。

语法格式:set [参数] [变量名]

常用参数:

-a: 显示已修改的变量

-b: 使被中止的后台程序立刻回报执行状态

-e: 若指令传回值不等于0则立即退出

-f : 取消使用通配符

-h: 自动记录函数的所在位置

-k :指令所给的参数都会被视为此指令的环境变量

-l  :记录for循环的变量名称

-m:使用监视模式

-n :只读取命令而不实际执行

-p :使用优先顺序模式

-t  :执行完指令后即退出

-u :遇到未定义的变量时报错

不加参数时,set命令显示当前shell的所有本地设置的Shell变量,否则设置shell变量

实例:

user@Myhost :~ # set | more
 


五、unset命令:删除已定义的shell变量(包括环境变量)和shell函数

unset为shell内建指令,功能是删除已定义的shell变量(包括环境变量)和shell函数。

unset命令不能够删除具有只读属性的shell变量和环境变量。

语法格式:unset [参数]

常用参数:

-f :仅删除函数

-v:仅删除变量

实例:

创建变量VAR1并初始化其值“test”,

然后我们用echo $VAR1命令显示变量VAR1的值,这时VAR1的值可以正常显示。

接着我们用unset -v VAR1命令删除变量VAR1,

最后我们再用echo $VAR1 命令显示变量VAR1的值时,就没有值显示了。

user@Myhost : ~ # VAR1="test"
user@Myhost : ~ # echo $VAR1
test
user@Myhost : ~ # unset -v VAR 1
user@Myhost : ~ # echo $VAR1

user@Myhost : ~ #

六、 export命令:显示或将变量提升成环境变量

export命令的功能是用于将变量提升成环境变量,亦可将Shell函数输出为环境变量。

通常,用户个人创建出的变量只能在自己账户下使用,其他用户是无法看到的。

若想让每个用户都能看到并有权利去使用变量值的话,则需要使用export命令进行提升操作。

语法格式:export [参数] [变量]

常用参数:

-f :设置函数名称

-n :删除指定变量

-o :创建JSON文件路径

-p :显示所有环境变量

-s :设置文件来源

实例1:显示所有环境变量

user@Myhost : ~ # export -p

export BACRUP='1'
export EDITOR='vi'
export ENU='/home/tc/.ashrc'
export FILEMGR
export FLUM TITLEBAR_ COLOR='58:7D :AA’
export G_ FILENAME ENCODING='iso8859-1'
export HOME='/home/tc'
export LANG= '0'
export LC_ALL
export LD_LIBRARY_PATH
export LOGNAME='tc'
export MANPAGER='less -isR'
export PAGER='less - EM '
export PATH='/home/tc/.local/bin:/usr/local/sbin:/usr/local/bin:/apps/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PS1='user@Myhost : \W # '
export PWD= '/home/tc'
export SHELL='/bin/sh'
export SHLVL='1'
export TERM='linux'
export USER= 'USER'
export VAR1
export _= 'clear'
export ignoreeof
user@Myhost : ~ # 

实例2:定义一个变量VAR1,初始值为"123"并提升成环境变量:

相关文章:

Linux shell编程学习笔记6:查看和设置变量的常用命令

上节我们介绍了变量的变量命名规则、变量类型、使用变量时要注意的事项,今天我们学习一下查看和设置变量的一些常用命令,包括变量的提升,有些命令在之前的实例中已经使用过了。 一、 echo :查看变量的值 语法格式:ech…...

leetcode 416.分割等和子集

416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和…...

Java基于SSM+Vue的平时成绩管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

flutter开发实战-webview插件flutter_inappwebview使用

flutter开发实战-webview插件flutter_inappwebview使用 在开发过程中,经常遇到需要使用WebView,Webview需要调用原生的插件来实现。常见的flutter的webview插件是webview_flutter,flutter_inappwebview。之前整理了一下webview_flutter&…...

Selenium 浏览器坐标转桌面坐标

背景: 做图表自动化项目需要做拖拽操作,但是selenium提供的拖拽API无效,因此借用pyautogui实现拖拽,但是pyautogui的拖拽是基于Windows桌面坐标实现的,另外浏览器中的坐标与windows桌面坐标并不是一比一对应的关系&am…...

1.6.C++项目:仿muduo库实现并发服务器之channel模块的设计

项目完整版在: 文章目录 一、channel模块:事件管理Channel类实现二、提供的功能三、实现思想(一)功能(二)意义(三)功能设计 四、代码(一)框架(二…...

Redis代替session 实现登录流程

Redis代替session 实现登录流程 如果使用String,他的value,用多占用一点空间,如果使用哈希,则他的value中只会存储他数据本身,如果不是特别在意内存,其实使用String就可以 设计key的具体细节 在设计这个k…...

理解C++强制类型转换

理解C强制类型转换 文章目录 理解C强制类型转换理解C强制转换运算符1 static_cast1.1. static_cast用于内置数据类型之间的转换1.2 用于指针之间的转换 1.3 用于基类与派生类之间的转换2. const_cast2.1示例12.2 示例2——this指针 3.reinterpret_cast4.dynamic_cast C认为C风格…...

《TCP/IP网络编程》代码实现

文章目录 1. 项目说明1.1 项目特点2. 文件说明2.1 脚本文件2.1.1 `TCP_IP.sln`2.1.2 `xmake.lua`2.1.2.1 编译说明2.1.2.2 运行说明2.1.3 章节说明项目代码已经开源在github上! 微信公众号文章同步发表! 1. 项目说明 根据《TCP/IP网络编程》书籍学习,对其中的代码进行整理,…...

【Python】如何使用PyInstaller打包自己写好的代码

使用PyInstaller打包自己写好的代码 零、需求 最近接到一个小单,需要批量修改文档内容,用Python做好后要打包成exe程序给客户的Win7电脑使用,此时需要用到PyInstaller打包自己的代码,想到还要有给用户试用的需求,所以…...

Java 线程的调度与时间片

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…...

Java项目-文件搜索工具

目录 项目背景 项目效果 SQLite的下载安装 使用JDBC操作SQLite 第三方库pinyin4j pinyin4j的具体使用 封装pinyin4j 数据库的设计 创建实体类 实现DBUtil 封装FileDao 设计scan方法 多线程扫描 周期性扫描 控制台版本的客户端 图形化界面 设计图形化界面 项目…...

记录开发中遇到关于MySQL的一些问题-MySQL版

本篇文章是记录开发中遇到关于MySQL的一些问题: 希望在这篇文章也能够找到你正在查找的问题,解决问题 Good Luck ! 关于Id 的一些问题 数据库并没有直接写SQL,是通过使用IDEA 同一个公司下的数据库软件生成的(DataGrip&#xf…...

2023-10-06 LeetCode每日一题(买卖股票的最佳时机含手续费)

2023-10-06每日一题 一、题目编号 714. 买卖股票的最佳时机含手续费二、题目链接 点击跳转到题目位置 三、题目描述 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易&…...

openGauss学习笔记-91 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT外部支持工具

文章目录 openGauss学习笔记-91 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT外部支持工具91.1 gs_ctl(全量和增量)91.2 gs_basebackup91.3 gs_dump91.4 gs_restore openGauss学习笔记-91 openGauss 数据库管理-内存优化表MOT…...

PostgreSQL快速入门

PostgreSQL快速入门:轻松掌握强大的开源数据库 PostgreSQL(简称Postgres)是一款强大、可定制且免费的开源关系型数据库管理系统(RDBMS)。它以其高级功能、可扩展性和安全性而著称,被广泛用于各种规模的项目…...

MATLAB:线性系统的建模与仿真(含完整程序)

目录 前言实验内容一、先看作业题目要求二、作业正文Modeling LTI systemsEstablish model1.tf(sys2)2. tf(sys3)3.zpk(sys1)4. zpk(sys3)5. ss(sys1)6. ss(sys2)7.[num,den] tfdata(sys1)8.[num,den] tfdata(sys2)9.[num,den] tfdata(sys3)10.[num,den] tfdata(sys1,’v’…...

mycat实现mysql读写分离

架构图: 视频地址...

【C++】STL详解(十一)—— unordered_set、unordered_map的介绍及使用

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C学习 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C】STL…...

【C语言】动态通讯录(超详细)

通讯录是一个可以很好锻炼我们对结构体的使用,加深对结构体的理解,在为以后学习数据结构打下结实的基础 这里我们想设计一个有添加联系人,删除联系人,查找联系人,修改联系人,展示联系人,排序这几…...

Mac下docker安装MySQL8.0.34

学习并记录一下如何用docker部署MySQL 在Docker中搜索并下载MySQL8.0.x的最新版本 下载好后,在Images中就可以看到MySQL的镜像了 通过下面的命令也可以查看docker images启动镜像,使用下面的命令就可以启动镜像了docker run -itd --name mysql8.0.34 -…...

基于python编写的excel表格数据标记的exe文件

目录 一、需求: 二、思路: 三、工具 四、设计过程 (一)根据需要导入相关的图形界面库 (二)创建图形窗口 (三)标签设计 (四)方法按钮设计 &#xff0…...

acwing算法基础之基础算法--高精度加法算法

目录 1 知识点2 模板 1 知识点 大整数 大整数,它们的长度都为 1 0 6 10^6 106。大整数是指长度为 1 0 6 10^6 106的整数。 大整数 - 大整数 大整数 * 小整数 大整数 / 小整数 把大整数存储到向量中,需要考虑高位在前还是低位在前,低位在前…...

openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化:x86

文章目录 openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化:x8684.1 BIOS84.2 操作系统环境设置84.3 网络 openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化:x86 …...

二分查找:34. 在排序数组中查找元素的第一个和最后一个位置

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《算法》 文章目录 前言一、题目解析二、解题思路1. 暴力查找2. 一次二分查找 部分遍历3. 两次二分查找分别查找左右端点1.查找区间左端点2. 查找区间右端点 三、代码实现总结 前言 本篇文…...

javaee ssm框架项目整合thymeleaf2.0 更多thymeleaf标签用法 项目结构图

创建ssmthymeleaf项目 创建ssmthymeleaf项目参考此文 thymeleaf更多常用标签 <!DOCTYPE html> <html lang"en" xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"><title>Title</title> …...

lv7 嵌入式开发-网络编程开发 11 TCP管理与UDP协议

目录 1 TCP管理 1.1 三次握手 1.2 四次挥手 1.3 保活计时器 2 wireshark安装及实验 3.1 icmp协议抓包演示 3.2 tcp协议抓包演示 3 UDP协议 3.1 UDP 的主要特点&#xff1a; 4 练习 1 TCP管理 1.1 三次握手 TCP 建立连接的过程叫做握手。 采用三报文握手&#xff1…...

overleaf在线编辑工具使用教程

文章目录 1 用 orcid注册overleaf获取模板2 使用模板 1 用 orcid注册overleaf获取模板 通常来说&#xff0c;在期刊投稿网站information for author中找template 。下载压缩包后上传到over leaf中。 加入找不到官方模板&#xff0c;用overleaf中的 2 使用模板 .bib文件&…...

Python基础复习【第一弹】【黑马】

本篇是观看b站黑马视频所做的笔记第一弹&#xff0c;为1-98节。 b站-黑马Python # 1.Hello World print("Hello World")# 2.字面量 在代码中&#xff0c;被写下来固定的值# 3.字符串 print("python")# 4.单行注释 # 多行注释""" "&q…...

【Word】公式编辑器中连字符/减号等显示偏长/过长

问题 当公式编辑器中出现连字符的时候&#xff0c;连字符显示偏长&#xff0c;如下图所示&#xff1a; 方法 在连字符的前后加上双引号后即可解决连字符显示偏长的问题。 最终效果对比如下&#xff1a; 结语 Word的公式编辑器中&#xff0c;双引号内部的内容被当做普通…...

网站建设教育平台/网站快速收录的方法

Android 使用 Aspectj 限制快速点击在AspectJ 在 Android 中的使用中&#xff0c;介绍了 Aspectj 的基本知识及其在 Android 中的基本使用&#xff0c;在这篇将会介绍如何使用 Aspectj 在 Android 中限制快速点击1. 配置依赖建立 clicklimt 的 lib&#xff0c;添加对 Aspect 的…...

长沙市师德师风建设网站/企业网页设计报价

中缀表达式的计算 利用两个栈来实现&#xff0c;操作数栈&#xff0c;操作符栈 只支持个位数运算 最后必须输入一个# #include<iostream> using namespace std;template<typename ElementType> struct Node {ElementType data;Node<ElementType>* next; };te…...

重庆网站建设培训/游戏搬砖工作室加盟平台

今天早上吃了梅园的早餐 还是熟悉味道的粥 还是熟悉味道的酱菜 满满的幸福感又回来了 下午和康哥去了健身房 练了一个半小时 熟悉的酸胀感也回来了 我是最瘦的 对&#xff0c;没毛病&#xff01; 63-不同路径II 一个机器人位于一个 m x n 网格的左上角 &#xff08;起…...

西昌网站建设/广告联盟怎么赚钱

最近碰到一个项目&#xff0c;需要将申报文件存成XML的格式&#xff0c;编码问题着实让我头疼了一会。现在全部统一成UTF-8编码。具体在各种语言下的操作这里&#xff0c;我用DOM进行XML解析&#xff0c;应为它简单。1 客户首先使用VB进行编辑表单&#xff0c;生成一个apply.xm…...

dede网站建设的个人总结/五个成功品牌推广案例

报错Error: ER_HOST_IS_BLOCKED: Host 175.178.45.207 is blocked because of many connection errors; unblock with mysqladmin flush-hosts解决方法;这里应该是你接口代码哪里每次访问结束应该断开数据库连接解决方法一打开你的数据库--运行flush hosts这个时候你再去重启一…...

祭祖网站怎么做/seo营销怎么做

学校的课程作业需要安装hadoop伪分布式集群&#xff0c;这里记录一下配置实验环境 我的实验环境&#xff1a; hadoop 3.1.10maven 3.5 参考的博客如下&#xff1a; [1]windows下安装和配置hadoophttps://www.cnblogs.com/xhj123/p/15359298.html 遇到的问题&#xff1a; 1 …...