注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天马行空

宠辱不惊,闲看庭前花开花落;去留无意,漫观天外云展云舒……

 
 
 

日志

 
 
 
 

Linux Shell getopt eval set  

2010-10-07 12:15:46|  分类: LINUX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
bash命令解释套装程序包含了一些内部命令。内部命令在目录列表时是看不见的,它们由Shell本身提供。常用的内部命令有:echo, eval, exec, export, readonly, read, shift, wait和点(.)。
  1.echo
  命令格式:echo arg
  功能:在屏幕上显示出由arg指定的字串。
  2.eval  
  命令格式:eval args
    命令eval的功能是將参数(args)读入 C shell 中,然后在加以执行。例如:

         101 # set vcom = 'ls -l ; date'
         102 # $vcom
             ; not found
             date not found


在命令 101,vcom 是 'ls -l ; date'。当我们來执行“$vocm”,会出现错误信息“; not found”及“date not found”。原因是 C shell 在语法解析中无法理解特殊符号所造成的。符号“;”和命令 date 被理解成是命令 ls -l 后的“文件名称”。所以才会有“not found”。命令eval 便是用來解决这种情況:


         103 # eval $vcom
             total 1
             -r--r--r-- 1 akira 1296 Oct 12 07:29 search.c
             Tue Oct 18 12:13:53 CST 1994


其实在作法上使用命令 eval 便相当于以下的用法:


         104 % echo $vcom | csh
              total 1
              -r--r--r-- 1 akira 1296 Oct 12 07:29 search.c
              Tue Oct 18 12:13:54 CST 1994


如果你是在 C shell 下,你也可使用以下的方式:


         /bin/csh << EOF
         $vcom
         EOF


另外在使用命令 eval 上也有技巧,看一互換的技巧:


         % set a = '$b'
         % set b = 'swapping'
         % echo $a
         $b
         %eval echo $a
         swapping

3.exec
  命令格式:exec命令参数
  功能:当Shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程(也就是最初的Shell)就终止了,所以Shell程序中exec后面的语句将不再被执行。
  4.export
  命令格式:export变量名 或:export变量名=变量值
  功能:Shell可以用export把它的变量向下带入子Shell,从而让子进程继承父进程中的环境变量。但子Shell不能用export把它的变量向上带入父Shell。
  注意:不带任何变量名的export语句将显示出当前所有的export变量。
  5.readonly
  命令格式:readonly变量名
  功能:将一个用户定义的Shell变量标识为不可变。不带任何参数的readonly命令将显示出所有只读的Shell变量。
  6.read
  命令格式:read变量名表
  功能:从标准输入设备读入一行,分解成若干字,赋值给Shell程序内部定义的变量。
  7.shift语句
  功能:shift语句按如下方式重新命名所有的位置参数变量,即$2成为$1,$3成为$2…在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数$#减1,直到减到0为止。
  8.wait
  功能:使Shell等待在后台启动的所有子进程结束。wait的返回值总是真。
  9.exit
  功能:退出Shell程序。在exit之后可有选择地指定一个数位作为返回状态。
  10.“.”(点)
  命令格式:. Shell程序文件名
  功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。

  评论这张
 
阅读(1276)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018