00. 目录

文章目录

  • 00. 目录
  • 01. 命令概述
  • 02. 命令格式
  • 03. 常用选项
  • 04. 参考示例
  • 05. 附录

01. 命令概述

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

02. 命令格式

用法:set [选项] [参数]

03. 常用选项

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

04. 参考示例

4.1 查看本地变量

[root@localhost ~]# deng="hello itcast"
[root@localhost ~]# echo $deng
hello itcast
[root@localhost ~]# set | grep deng
deng='hello itcast'
[root@localhost ~]#

4.2 查看当前设置情况

[root@localhost ~]# set -o
allexport       on
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              off
xtrace          off
[root@localhost ~]# 

4.3 把vi选项打开

[root@localhost ~]# set -o vi
[root@localhost ~]# set -o
allexport       on
braceexpand     on
emacs           off
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              on
xtrace          off
[root@localhost ~]#

4.4 内置set命令选项


选项名     快捷开关    含义
allexport   -a  从这个选项中被设置开始就自动标明要输出的新变量或修改过的变量,直至选项被复位
braceexpand     -B  打开花括号扩展,它是一个默认设置
emacs       使用emacs内置编辑器进行命令行编辑,是一个默认设置
errexit -e  当命令返回一个非零退出状态(失败)时退出。读取初始化文件时不设置
histexpand  -H  执行历史替换时打开!和!!扩展,是一个默认设置
history         打开命令行历史、默认为打开
ignoreeof       禁止用EOF(Ctrl+D)键退出shell。必须键入exit才能退出。等价于设置shell变量IGNOREEOF=10
keyword     -k      将关键字参数放到命令的环境中
interactive-comments        对于交互式shell,把#符后面的文本作为注释
monitor -m  设置作业控制
noclobber   -C  防止文件在重定向时被重写
noexec  -n  读命令,但不执行。用来检查脚本的语法。交互式运行时不开启
noglob  -d  禁止用路径名扩展。即关闭通配符
notify  -b  后台作业完成时通知用户
nounset -u      扩展一个未设置的变量时显示一个错误信息
onecmd  -t  在读取和执行命令后退出
physical    -P      设置时,在键入cd或pwd禁止符号链接。用物理目录代替
privileged  -p  设置后,shell不读取.profile或ENV文件,且不从环境继承shell函数,将自动为setuid脚本开启特权
verbose     -v  为调试打开verbose模式
vi      使用vi内置编辑器进行命令行编辑
xtrace  -x  为调试打开echo模式

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

【Linux】一步一步学Linux——set命令(222)相关推荐

  1. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

    Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...

  2. LINUX学习之路(学LINUX必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...

  3. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 分享--linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  5. 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  6. 不会linux的php难找工作,学linux系统难吗

    这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...

  7. linux lamp实验报告,新手学Linux--构建lamp

    本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...

  8. Linux其实没那么难学

    互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...

  9. 大学生为什么要学Linux?Linux有什么优点?

    前言 Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到 ...

  10. 【Linux】一步一步学Linux——Linux版本(03)

    目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debi ...

最新文章

  1. codevs1032
  2. 使用TortoiseGit处理代码冲突
  3. 盘点区块链的2018:技术与工具演进篇
  4. java pdf添加透明水印_如何在PDF文件中添加透明水印
  5. 文本分析:吉利不裁员不降薪背后的真相是什么
  6. android微信小程序支持横屏,微信小程序关于横屏存在的一些问题
  7. Android Bootloader LittleKernel的两篇文章 【转】
  8. Bootstrap 媒体对象
  9. sql不能使用OpenRowset
  10. 什么分区工具可以调整分区大小无损数据?
  11. 使用ACR及MIUI自带通话录音实现通话录音读取及上传
  12. vbs脚本打开web窗口隐藏地址栏和工具栏
  13. 人脸特征点定位方法DEST, 基于VS2019+OpenCV3.4.6
  14. 希腊字母常用指代意义及其中英文读音
  15. 【CTF WriteUp】2023数字中国创新大赛网络数据安全赛道决赛WP(1)
  16. 学计算机专业表情包,大学专业恶搞表情包,你中枪了吗
  17. 计算机网络基础知识满昌勇,中职中专学校《计算机网络基础》教学大纲可打印.doc...
  18. 修复版站长导航源码系统
  19. 基于Python的地理数据分析之一元线性回归分析-数学原理02.md
  20. 高仿钉钉和小米的日历控件

热门文章

  1. NDK(三方库引入、Mk文件)
  2. Ubuntu12.04设置软件源
  3. easyui打开新的选项卡_Easyui Tabs 标签页/选项卡_EasyUI 插件
  4. m4a打开服务器运行失败,WINCC打不开项目,服务器运行失败
  5. html标签 对word2vec,自然语言学习——使用word2vec对文本进行情感分析
  6. 每日程序C语言16-找出比赛对手名单
  7. php 反射类,PHP中的反射类
  8. 用dict读取和写入表格_用Python快速处理表格,让你快人一步两步三四部
  9. 不能卸载java_无法卸载注入的DLL
  10. 初步学习大数据——设置虚拟机固定ip地址