Linux 命令之 set -- 显示或设置 shell 特性及 shell 变量

文章目录

  • 一、命令介绍
  • 二、选项参数
  • 三、命令示例
    • (一)开启/关闭特性
    • (二)将普通变量设为环境变量

一、命令介绍

set 命令作用主要是显示系统中已经存在的 shell 变量,设置 shell 变量的新变量值,可以把已有的变量操作成环境变量等等。使用 set 更改 shell 特性时,符号 +- 的作用分别是打开和关闭指定的模式。set 命令不能够定义新的 shell 变量。如果要定义新的变量,可以使用 declare 命令以“变量名=值”的格式进行定义。

二、选项参数

选项说明
-a标记已修改的变量,以供输出至环境变量(意味着’set -a’之后定义的普通变量可在子shell中访问到)。
-b使被中止的后台程序立刻回报执行状态。
-C转向所产生的文件无法覆盖已存在的文件。
-dShell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e若指令传回值不等于0,则立即退出shell。
-f取消使用通配符。
-h自动记录函数的所在位置。
-H Shell可利用"!"加<指令编号>的方式来执行history中记录的指令。
-k指令所给的参数都会被视为此指令的环境变量。
-l记录for循环的变量名称。
-m使用监视模式。
-n只读取指令,而不实际执行。
-p启动优先顺序模式。
-P启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t执行完随后的指令,即退出shell。
-u当执行时使用到未定义过的变量,则显示错误信息。
-v显示shell所读取的输入值。
-x执行指令前,会先显示该指令及其参数。

三、命令示例

(一)开启/关闭特性

set -x 是开启 x 特性, set +x 是关闭 x 特性, set -x 等效于 set -o xtrace, 即在执行命令时打印该命令及其参数。执行 set -x 后,对整个脚本有效。

(二)将普通变量设为环境变量

使用 declare 命令定义一个新的环境变量 “mylove”,并且将其值设置为 “Visual C++”,输入如下命令:

[root@htlwk0001host ~]# declare mylove='Visual C++'   # 定义新环境变量

再使用set命令将新定义的变量输出为环境变量,输入如下命令:

[root@htlwk0001host ~]# set -a mylove # 设置为环境变量

执行该命令后,将会新添加对应的环境变量。用户可以使用 env 命令和 grep 命令分别显示和搜索环境变量 “mylove”,输入命令如下:

[root@htlwk0001host ~]# env | grep mylove # 显示环境变量值

该命令执行后,将输出查询到的环境变量值。env 查询出所有的环境变量,写入管道中(即输出到管道中),grep 从管道中读取数据(即输入数据),在读取的数据中搜索关键词 mylove

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 命令之 unset -- 删除指定的shell变量或函数

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;删除指定的环境变量一、命令介绍 unset 为 shell 内建指令&#xff0c;用于删除已定义的shell变量&#xff08;包括环境变量&#xff09;和shell函数。unset命令不能够删除具有只读属性的shell变量和环…

带有Jersey的RESTful Web服务的JAX-RS教程

在当今世界&#xff0c;数据起着非常重要的作用。 如此众多的应用程序将各种类型的数据用于不同的操作&#xff0c;所以最重要的方面是应用程序之间的通信。 当应用程序之间可以通信时&#xff0c;数据共享变得容易。 就像在亚洲运行的应用程序向在欧洲运行的应用程序提供数据…

mysql --force -f_Mysql_mysql force Index 强制索引

其他强制操作&#xff0c;优先操作如下&#xff1a;mysql常用的hint对于经常使用oracle的朋友可能知道&#xff0c;oracle的hint功能种类很多&#xff0c;对于优化sql语句提供了很多方法。同样&#xff0c;在mysql里&#xff0c;也有类似的hint功能。下面介绍一些常用的。强制索…

Linux 查看文件位置/查看文件路径的命令

which 查看可执行文件的位置find 实际搜寻硬盘查询文件名称whereis 查看文件的位置locate 配合数据库查看文件的位置

抽象工厂模式设计模式_创新设计模式:抽象工厂模式

抽象工厂模式设计模式抽象工厂模式是一种创新模式&#xff0c;是与构建器和工厂模式一起最受欢迎的模式之一。 使用创建模式是为了创建对象&#xff0c;而不是直接使用构造函数创建对象。 抽象工厂模式提供了一种封装一组具有共同主题的单个工厂而无需指定其具体类的方法。 采…

dubbo protocol port 消费者端_Dubbo源码:搞定URL,就走完了进度条的一半

Dubbo 中的 URL大家都知道&#xff0c;在互联网领域&#xff0c;每个信息资源都有统一的且在网上唯一的地址&#xff0c;该地址就叫 URL&#xff08;Uniform Resource Locator&#xff0c;统一资源定位符&#xff09;&#xff0c;它是互联网的统一资源定位标志&#xff0c;也就…

swarm 容器_Oracle应用容器云上的WildFly Swarm

swarm 容器在此博客文章中&#xff0c;我将描述如何将打包在WildFly Swarmber -jar中的CloudEE Duke应用程序部署到Oracle Application Container Cloud 。 在Oracle Application Container Cloud中进行部署所需的部署工件是一个ZIP归档文件&#xff0c;其中包含应用程序ber-j…

mysql数据库文件还原数据库_MySql通过数据库文件恢复数据库

以表”Table”为例:如类型是MyISAM, 数据文件则以”Table.frm””Table.MYD””Table.MYI””三个文件存储于”/data/$databasename/”目录中.如类型是InnoDB, 数据文件则存储在”$innodb_data_home_dir/″中的ibdata1文件中(一般情况)&#xff0c;结构文件存在于table_name.fr…

yum 如何知道从哪里下载包?

包来自什么地方呢&#xff1f;yum 如何知道从哪里下载包&#xff1f;起点是 /etc/yum.repos.d/ 目录&#xff0c;这个目录常常包含几个 repo 文件。这是 repo 的默认位置&#xff0c;但是可以在 YUM 配置文件&#xff08;通常是 /etc/yum.conf&#xff09;中指定其他位置。清单…

mysql主从修改系统参数步骤_mysql主从配置的参数配置与步骤_MySQL

mysql主从配置的参数配置与步骤_MySQL主从配置的步骤&#xff1a;在主库建立要同步的数据库,建立主库的帐号和修改主备库配置create database web default character set utf8grant replication slave on *.* to repdcssub192.168.191.112 identified by 123456;grant all priv…

javascript 解密_Javascript中的AES加密和Java中的解密

javascript 解密AES代表高级加密系统&#xff0c;它是一种对称加密算法&#xff0c;很多时候我们需要在客户端加密一些纯文本&#xff0c;例如密码&#xff0c;然后将其发送到服务器&#xff0c;然后由服务器解密以进行进一步处理.AES加密和解密更加容易在相同的平台&#xff0…

英文标点符号大全

标点符号英文中文名称未知反撇号’apostrophe撇号&#xff0c;缩写及所有格符号plus加号&#xff1b;正号-minus减号&#xff1b;负号plus or minus正负号is multiplied by乘号is divided by除号&#xff1d;is equal to等于号≠is not equal to不等于号≡is equivalent to全等…

Linux 系统下显示文件内容(查看文件内容)的命令 more/less/cat/head/tail 比较

命令说明more建议用于查看内容较长的文本文件&#xff0c;内容可以分屏显示&#xff0c;并且支持在显示时定位关键字cat建议用于查看内容较少的文本文件。当文件较大时&#xff0c;文本在屏幕上迅速闪过&#xff08;滚屏&#xff09;&#xff0c;用户往往看不清所显示的内容。因…

mysql子分区多少层_MySQL 子分区-阿里云开发者社区

介绍子分区其实是对每个分区表的每个分区进行再次分隔&#xff0c;目前只有RANGE和LIST分区的表可以再进行子分区&#xff0c;子分区只能是HASH或者KEY分区。子分区可以将原本的数据进行再次的分区划分。一、创建子分区子分区由两种创建方法&#xff0c;一种是不定义每个子分区…

gradle 编译java_Java的Gradle依赖关系,使用编译还是实现?

gradle 编译java当我向一位同事解释如何将Gradle用于Java项目时&#xff08;他正在远离Maven &#xff09;&#xff0c;我们遇到了各种代码示例。 一些示例将编译配置用于依赖项&#xff0c;而其他示例则使用Implements和api 。 dependencies { compile commons-httpclient:co…

Linux 命令之 typeset -- 声明 shell 变量,设置变量的属性

文章目录一、命令介绍二、常用选项三、命令示例&#xff08;1&#xff09;定义关联数组并访问一、命令介绍 typeset 命令是 bash 的内建命令&#xff0c;是命令 declare 的别名&#xff0c;两者是完全一样的&#xff0c;用来声明 shell 变量&#xff0c;设置变量的属性。 用于…

git log 迁移_现场故事:从Log4J迁移到Log4J2

git log 迁移通过从您的应用程序学习企业APM产品&#xff0c;发现更快&#xff0c;更有效的性能监控。 参加AppDynamics APM导览&#xff01; 与许多Java应用程序一样&#xff0c;AppDynamics Java代理广泛使用日志记录。 多年来&#xff0c;我们一直使用Log4J作为我们的日志记…

mysql firebird 性能_Firebird, MySQL 与 PostgreSQL 代码质量对比

今天看到一篇文章 - “Firebird, MySQL 与 PostgreSQL 代码质量对比”- 关于三个开源 RDBMS 的静态分析比较。主要内容A few words about the projectsFirebirdMySQLPostgreSQLPVS-StudioComparison criteriaWhy "head-on" comparison is not a good ideaAn alterna…

Linux 命令之 let -- bash 中用于计算的工具,用于执行一个或多个表达式

文章目录一、命令介绍二、命令示例自增操作自减操作shell 脚本中的运算表达式一、命令介绍 let 命令是 BASH 中用于计算的工具&#xff0c;用于执行一个或多个表达式&#xff0c;变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符&#xff0c;则必须引…

sun jdk 与jdk_Sun过去的世界中的JDK 11和代理

sun jdk 与jdk使用JDK 11后&#xff0c;就sun.misc.Unsafe的第一种方法。 其中&#xff0c; defineClass方法已删除。 代码生成框架通常使用此方法在现有的类加载器中定义新的类。 尽管此方法易于使用&#xff0c;但它的存在也使JVM本质上不安全&#xff0c;正如其定义类的名称…