Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4523406
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: LINUX

2011-10-04 16:44:25

功能:该命令用来设置shell的执行方式,根据不同的需求来做相应设置。
语法:set [+-abCdefhHklmnpPtuvx]
其中 “+”表示取消参数功能 “-”表示添加某参数功能

使用技巧: 如果该命令不带任何参数,则显示所有的shell运行特性变量信息。

-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      执行指令后,会先显示该指令及其参数
+<参数>   取消set曾设置的某个选项


1. 在终端命令中输入set命令

  1. ywx@ywx:~/desktop$ set
  2. BASH=/bin/bash  bash所在位置
  3. BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:hist
  4. append:interactive_comments:progcomp:promptvars:sourcepath
  5. BASH_ALIASES=()
  6. BASH_ARGC=()
  7. BASH_ARGV=()
  8. BASH_CMDS=()
  9. BASH_COMPLETION=/etc/bash_completion
  10. BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d

2. 使用-C选项禁止覆盖操作
  1. ywx@ywx:~/desktop/test$ ls
  2. one two
  3. ywx@ywx:~/desktop/test$ cat one > two  在没有禁止情况下,可以覆盖文件
  4. ywx@ywx:~/desktop/test$ cat one
  5. 2010-10-4 17:05
  6. ywx@ywx:~/desktop/test$ cat two
  7. 2010-10-4 17:05

  8. ywx@ywx:~/desktop/test$ set -C 转向所产生的文件无法覆盖以存在的文件
  9. ywx@ywx:~/desktop/test$ cat one > two  试图覆盖操作
  10. bash: two: cannot overwrite existing file  操作失败
  11. ywx@ywx:~/desktop/test$ set +C         恢复原先的设定值
  12. ywx@ywx:~/desktop/test$ cat one > two   可以覆盖操作
  13. ywx@ywx:~/desktop/test$ cat one ;cat two
  14. 2010-10-4 17:05
  15. 2010-10-4 17:05
  16. ywx@ywx:~/desktop/test$

3. -f 取消 设置通配符

  1. ywx@ywx:~/desktop/test$ ls
  2. one two
  3. ywx@ywx:~/desktop/test$ set -f 取消通配符
  4. ywx@ywx:~/desktop/test$ cp on* one1   复制出错,没有这个文件
  5. cp: cannot stat `on*': No such file or directory
  6. ywx@ywx:~/desktop/test$ set +f 恢复通配符,可以复制
  7. ywx@ywx:~/desktop/test$ cp on* one1
  8. ywx@ywx:~/desktop/test$




阅读(1524) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~