set指令详解

功能说明:设置shell

语  法:set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]

说 明:
设置或取消设置shell选项和位置参数的值
更改shell属性和位置参数的值,或显示shell变量的名称和值

选项Options:

-a:标示已修改的变量,以供输出至环境变量。

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

-B:  shell将执行大括号扩展

-C:转向所产生的文件无法覆盖已存在的文件。

-d:Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。

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

-E: 如果设置,则ERR trap由shell函数继承

-f:取消使用通配符。

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

-H Shell:可利用"!"加<指令编号>的方式来执行history中记录的指令。

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

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

-m:使用监视模式。

-n:只读取指令,而不实际执行。

-p:启动优先顺序模式。

-P:启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。

-t:执行完随后的指令,即退出shell。

-T 如果设置, DEBUG trap由shell函数继承

-u:当执行时使用到未定义过的变量,则显示错误信息。

-v:显示shell所读取的输入值。

-x:执行指令后,会先显示该指令及所下的参数。

-- 将任何剩余的参数分配给位置参数。如果没有剩余参数,则取消设置位置参数

- 将任何剩余的参数分配给位置参数。 -x和-v选项已关闭。

使用+而不是 - 被关闭相应的选项设置(-设置选项,+删除设置的选项)。
当前设置的选项存储在变量$- 中。
剩下的n个ARG是位置参数,按顺序分配给$1,$2,.. $n
如果没有给出ARG,则打印所有shell变量。

-o option-name
设置相应的变量为option-name

allexport      等同于-a    从设置开始标记所有新的和修改过的用于输出的变量

braceexpand    等同于-B    允许符号扩展,默认选项

emacs             在进行命令编辑的时候,使用内建的emacs编辑器, 默认选项

errexit       等同于-e     如果一个命令返回一个非0退出状态值(失败),就退出.

errtrace       等同于-E

functrace     等同于-T
hashall       等同于-h

histexpand      -H      在做临时替换的时候允许使用!和!! 默认选项

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

ignoreeof             禁止coontrol-D的方式退出shell,必须输入exit。

interactive-comments          在交互式模式下, #用来表示注解

keyword    -k        为命令把关键字参数放在环境中

monitor     -m         允许作业控制

noclobber    -C        保护文件在使用重新动向的时候不被覆盖

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

noglob       -d        禁止路径名扩展,即关闭通配符

nolog              currently accepted but ignored

notify       -b        在后台作业以后通知客户

nounset      -u        在扩展一个没有的设置的变量的时候,显示错误的信息

onecmd      -t        在读取并执行一个新的命令后退出

physical        -P        如果被设置,则在使用pwd和cd命令时不使用符号连接的路径 而是物理路径

pipefail              管道的返回值是以非零状态退出的最后一个命令的状态,如果没有以非零状态退出的命令则为零(即设置后,管道中任何一处失败,即返回非0)

posix              改变shell行为以便符合POSIX要求

privileged            一旦被设置,shell不再读取.profile文件和env文件 shell函数也不继承任何环境

verbose      -v          为调试打开verbose模式

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

xtrace     -x        打开调试回响模式

set指令详解的更多相关文章

  1. [转]JVM指令详解(上)

    作者:禅楼望月(http://www.cnblogs.com/yaoyinglong) 本文主要记录一些JVM指令,便于记忆与查阅. 一.未归类系列A 此系列暂未归类. 指令码    助记符      ...

  2. C#中的预处理器指令详解

    这篇文章主要介绍了C#中的预处理器指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregio ...

  3. rsync指令详解

    rsync指令详解(更详细的看官方文档http://rsync.samba.org/ftp/rsync/rsync.html) [root@Centos epel]# rsync --help rsy ...

  4. #pragma 预处理指令详解

    源地址:http://blog.csdn.net/jx_kingwei/article/details/367312 #pragma  预处理指令详解              在所有的预处理指令中, ...

  5. 迈向angularjs2系列(2):angular2指令详解

    一:angular2 helloworld! 为了简单快速的运行一个ng2的app,那么通过script引入预先编译好的angular2版本和页面的基本框架. index.html: <!DOC ...

  6. LDM与STM指令详解

    title: LDM与STM指令详解 date: 2019/2/26 17:58:00 toc: true --- LDM与STM指令详解 指令形式如下,这里的存储方向是针对寄存器的 Load Mul ...

  7. C#中的预处理指令详解

    这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...

  8. pragma comment的使用 pragma预处理指令详解

    pragma comment的使用 pragma预处理指令详解   #pragma comment( comment-type [,"commentstring"] ) 该宏放置一 ...

  9. Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解

    前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY  <源路径> .. ...

  10. nginx.conf中关于nginx-rtmp-module配置指令详解

    译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解.指令Corertmp语法:rtmp { ... }上下文:根描述:保存所 ...

随机推荐

  1. Luogu P4889 kls与flag 【思维/排序】By cellur925

    题目传送门 这题真的一点也不难qwq.只要想出来就没有什么代码难度的qwq. 每个竹竿只可能向左倒或向右倒,把这两种情况都存在数组中,将数组排序,就可以知道最后落在同一位置的有多少竹竿.就可以知道落在 ...

  2. C++类成员函数与成员变量的内存布局

    一.成员函数 成员函数可以被看作是类作用域的全局函数,不在对象分配的空间里,只有虚函数才会在类对象里有一个指针,存放虚函数的地址等相关信息.

  3. Masonry自动布局与UIScrolView适配

    Masonry介绍 Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且同时支持 iOS 和 Max OS X.可以通过cocoa ...

  4. NestedScrollView嵌套RecycleView发生的小问题

    1.解决方法:嵌套滑动不激活. recycleView.setNestedScrollingEnable(false); 这样做有个弊端,RecycleView的item会一次性加载完,不管是否显示, ...

  5. 在colab上运行style-transfer

    1,  打开chrome浏览器,输入以下网址,打开风格转换主文件 https://colab.research.google.com/github/Hvass-Labs/TensorFlow-Tuto ...

  6. Java URL 中文乱码解决办法

    一. 统一所有的编码格式 (1)JSP页面设置:<%@ page language="java" import="java.util.*" pageEnc ...

  7. 数据库连接池proxool的两种使用方式

    数据库连接池可以通过两种方式来应用,针对web应用和非web应用而来. 非web应用的数据库连接池配置 第一种方式:工厂类 非web应用可以使用工厂模式将数据库连接创建封装在一个工具类中,工具类中又使 ...

  8. javaee 第七周作业

    一.什么是JSON? JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一 ...

  9. Android(java)学习笔记160:开发一个多界面的应用程序之清单文件

    清单文件的重要参数:     <intent-filter>             代表的应用程序的入口界面           <action android:name=&quo ...

  10. 深入了解JVM(Java虚拟机)

    虚拟机 JRE由Java API和JVM组成,JVM通过类加载器(Class Loader)加类Java应用,并通过Java API进行执行. 虚拟机(VM: Virtual Machine)是通过软 ...