linux中set的使用

Linux set命令

功能描述:设置外壳。

语言:set [+-abCdefhHklmnpPtuvx]]

补充说明:可以使用set命令设置各种shell选项或列出shell变量。单个选项设置了通用功能。在一些选项之后,-o参数打开了一些特殊的特性。在一些选项之后,使用+o参数关闭一些特性,不带任何参数的set命令将显示所有shell变量。除非遇到非法选项,否则set总是返回true。

参数:

Allexport -a标记所有新的和修改过的变量,以便从设置中输出。

Braceexpand -B允许符号扩展,默认选项。

编辑命令时,Emacs使用内置的emacs编辑器。默认选项是

Erroxit-E如果命令返回非零退出状态值(失败),它将退出。

Histexpand -H允许临时替换!还有!!缺省选择

历史允许命令行历史,默认选项

Ignoreeof禁止con control-D退出shell,必须输入exit。

交互-评论在交互模式下,#用于表示评论。

Keyword -k将关键字参数放在命令的环境中。

Monitor -m允许作业控制。

使用重定向时保护文件不被覆盖。

Noexec -n在脚本状态下读取命令但不执行它,主要是检查语法结构。

Noglob -d禁止路径名扩展,也就是说,它关闭了通配符。

Notify -b在后台作业完成后通知客户。

在没有设置的情况下扩展变量时,Noonset-u会显示一条错误消息。

Onecmd -t在读取和执行新命令后退出。

Physical -P,如果设置的话,在使用pwd和cd命令时使用物理路径而不是符号路径。

Posix更改外壳行为以满足POSIX要求。

一旦设置了特权,shell就不再读取。profile文件和env文件,而shell函数不继承任何环境。

Verbose -v打开详细模式进行调试。

Vi在命令行编辑时使用内置的vi编辑器。

Xrace-x打开调试回显模式。

本网站的以下两篇文章详细解释了如何设置系统环境变量:

将环境变量设置为永久生效。导出PS 1:/a/linuxxitongcuanli/1812 . html。

延伸阅读:set、env、export都可以用来显示shell变量。有什么区别?

Set用于显示局部变量。

Env用于显示环境变量。

Export用于显示和设置环境变量。

Set显示当前shell的变量,包括当前用户的变量。

Env显示当前用户的变量。

Export显示当前作为用户变量导出的shell变量。

每个shell都有自己的变量,由唯一的变量(set)显示,该变量不同于用户变量。当前用户变量和你用什么shell无关,不管你用什么shell,比如HOME,shell等变量,但是SHELL自己的变量不一样,比如BASH_ARGC,BASH等。这些变量只能通过器械包显示。bash独有。当export不带参数时,它显示哪些变量作为用户变量导出,因为shell自己的变量可以通过export“导出”到用户变量中。

[root@linux ~]# aaa=bbb

[root@linux ~]# echo $aaa

血脑屏障

[root@linux ~]# set|grep aaa

aaa=bbb

[root@linux ~]# env|grep aaa

[root@linux ~]#导出aaa

[root@linux ~]# env|grep aaa

aaa=bbb

扩展Linux中的set、env、export-环境变量命令

Linux是一个多用户操作系统。每个用户登录系统后,都会有一个特殊的运行环境。通常每个用户的默认环境都是一样的,这个默认环境其实就是一组环境变量的定义。用户可以通过修改相应的系统环境变量来定制自己的运行环境。

什么是环境变量?

环境变量是具有特定名称的对象,它包含将被一个或多个应用程序使用的信息。许多用户(尤其是那些不熟悉Linux的用户)发现这些变量很奇怪或者很难控制。事实上,这是一个误解:通过使用环境变量,您可以很容易地修改涉及一个或多个应用程序的配置信息。

常见环境变量

大家都很熟悉PATH、HOME等环境变量。

PATH可以指定命令的搜索路径,那么用什么变量来指定动态链接库的路径呢?还是在小路上?

比如一个程序在/usr/local/lib下需要一个库文件,应该如何指定其路径?

我们经常会看到LD _ library _ path、libpath、classpath等一些变量。它们之间有什么区别和联系?

此外,还有一些常见的环境变量如下。

◆ HISTSIZE是指保存的历史命令记录的数量。

◆ LOGNAME是指当前用户的登录名。

◆主机名是指主机的名称。如果许多应用程序想要使用主机名,它们通常从这个环境变量中获取主机名。

◆ SHELL指的是当前用户使用的是什么样的SHELL。

◆LANG/langue是一个与语言相关的环境变量,使用多种语言的用户可以对其进行修改。

◆邮件是指当前用户的邮件存储目录。

◆ PS1为基本提示,root用户为#,普通用户为$。PS2是一个辅助提示,默认为“>”。。您可以通过修改此环境变量来修改当前命令符号。例如,以下命令会将提示符更改为字符串“Hello,My NewPrompt”。