使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显示shell的全部变量.除非遇到非法的选项,否则set总是返回ture. 
当BASH shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中(,,...,$n)

格式 
set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...] 
详解: 
选项 说明 
-a 自动向已经修改的变量或为导出后序命令的变量作出标志

-b 不是在原提示符之前,而是立即引发终止后台任务的状态表  
-e 如果命令带非零值返回,立即退出 - 
f 禁止带扩展名的路径  
-h 定义函数时,定位和存储函数命令,当函数被执行时,通常查询 函数命令  
-k 所有的关键词参数,而不只是那些命令名前的关键词参数,被放 在环境命令中  
-m 监视器模式,启动任务控制.此选项默认支持系统shell交互.后 台进程以单独的进程组运行,在每次完成任务时显示包含退出的 状态行  
-n 读取命令但不执行命令.通常监查shell脚本的句法错误.交互 shell被忽略  
-o option-name 选项名可以是下列之一:  
选项 说明  
allexport 同-a选项  
braceexpand shell执行花括号扩展,在默认情况下起作用  
emacs 使用emacs风格命令行编辑接口.除非shell以-noline-editing 选项启动,否则当shell交互时,通过默认启动该选项  
errexit 同-e选项  
histexpand 同-H选项  
ignoreeof 其结果是好像shell命令IGNOREEOF=10被执行  
interactive 允许单词前带#号,以使得在交互shell中忽略命令行的全部字符  
-commands  
monitor 同-m选项  
noclobber 同-C选项  
noexec 同-n选项  
noglob 同-f选项  
nohash 同-d选项  
notify 同-b选项  
nounset 同-u选项  
physical 同-p选项  
posix 改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准  
verbose 同-v选项  
vi 使用vi风格的命令行编辑器  
XTRACE 同-x选项,如果没有给出选项名,显示当前选项值  
-p 打开特权模式(在此模式,$ENV文件被处理,不能从环境中继承 shell函数.如果是有效用户ID而不是实用户组则自动启动.关闭 此选项将使得有效用户和组IDs设置实用户和组IDs)  
-t 在读取命令并执行之后退出  
-u 当执行参数括展时,把非设置变量作为错误处理(如果扩展企图 出现在非设置变量中,shell显示错误信息.如果不是交互式,则 带非凌值退出)  
-v 输入行被读取时,显示shell输入行  
-x 在每个简单命令被扩展之后,显示PS4扩展值,之后是要执行的命令  
-l 保存和恢复绑定在命令中的名称  
-d 禁止执行查找散列命令(通常,命令被保存在散列表中,一旦被找到 就不再继续查找)  
-C 效果好像是执行了noclobber=shell命令  
-H 使用!风格的历史替代(当shell交互时,在默认情况下,此选项有效)  
-P 如果设置此参数,当执行改变目录命令cd时,不遵循符号链接,而是 使用实际的目录  
-- 如果在选项后没有参数,不设置位置参数.否则,即使一些参数以a 选项开始,也要把位置参数设置为argument  
- 结束选项的信号,将引发其余的参数被赋值到位置参数中(-x和-v 选项被关闭.如果没有argument,位置参数将保留未改变的参数)

shell中set的用法(转)的更多相关文章

  1. (转)Shell中read的用法详解

    Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstn ...

  2. shell中的EOF用法

    重定位运算符 >> 是追加内容> 是覆盖原有内容 1.EOF Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止 ...

  3. shell 中的expect 用法

    expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: ...

  4. shell中case的用法学习笔记

    这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 本文转自:http://www.jbxue.com/article ...

  5. shell中+,*,[:space:]的用法

    http://blog.itpub.net/27181165/viewspace-1061688/ 在linux中通常会使用shell结合正则表达式来过滤字符,本文将以一个简单的例子来说明+,*,[: ...

  6. 转shell中的awk用法详解

        awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 调用awk:   第一种,命令行方式 ...

  7. Shell中eval的用法示例

    功能说明:告知shell取出eval的参数,重新运算求出参数的内容. 语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行. 参 数:参数不限数目,彼此之间用分 ...

  8. shell中tr的用法

    转自http://blog.csdn.net/zhuying_linux/article/details/6825568 tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换.语 ...

  9. shell中字符串基本用法

    前言 今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享. 本片主要说明 ...

随机推荐

  1. Java项目打war包的方法

    我们可以运用DOS命令来手工打war包: 首先,打开DOS命令行,敲入“jar”,我们发现它提示不是内部或外部的命令这样的错误,这时八成是你的JAVA环境没有配置好,我们可以用JAVA_HOME方式或 ...

  2. 博客转移至github

    博客转移到github 鉴于github的各种优势,博客转移!

  3. pyquery学习笔记

    很早就听说了pyquery的强大.写了个简单的测试程序实验下. 思路是找个动态网页,先用PhantomJS加载,然后用PYQUERY解析. 1.随便找了个带表格的股票网页,里面有大量的股票数据,测试的 ...

  4. nio复习总结

    观察者: 多个对象依赖一个对象的状态, 当这个对象状态发生改变时,依次通知多个对象. 消息的分发和处理 事件驱动 / IO多路复用 借助select  epoll等 reactor: io事件触发时, ...

  5. ZOJ 3781 Paint the Grid Reloaded(DFS连通块缩点+BFS求最短路)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5268 题目大意:字符一样并且相邻的即为连通.每次可翻转一个连通块X( ...

  6. SQL Server中删除表中重复数据

    方法一:利用游标,但要注意主字段或标识列 declare @max integer,@id integer open cur_rows fetch cur_rows into @id,@max beg ...

  7. 树莓派3B安装远程

    步骤1:树莓派3安装 RDP SERVER 及VNC SERVER sudo apt-get install -y tightvncserver sudo vncserver 最后才知道一定要加上VN ...

  8. 两类for循环

    九.两类for循环 (一)穷举 1.格式 for (初始条件;循环条件 ;循环改变) { for (初始条件;循环条件;循环改变) { for (初始条件;循环条件;循环改变) { if (判断条件) ...

  9. Pg188-2 覆盖 向上转型

    package org.hanqi.array; public class DongWu { private String name; private String color; public Str ...

  10. mysql 插入时带判断条件

    INSERT INTO table (f1 ,f2 ,f3) ,'a', FROM DUAL WHERE NOT EXISTS ( FROM table2 where a = b) DUAL 为临时表 ...