shell语法小结

来源:互联网 发布:软件行业压力大 编辑:程序博客网 时间:2024/05/22 14:16

原帖网址:http://blog.chinaunix.net/u1/34739/showart_283263.html

1、  set命令

当没有参数的时候,列出系统中所有的自定义变量值;当有参数的时候,重置基本参数如$1$2等。如set `date` date命令的输出当作输入参数;

 

2let命令

      执行算术运算。功能如i=j+1,shell语法为:

      let “i=$j+1”,等同于 ‘expr’。 后者只能作用于整数,如 i=`expr $i+1`; 如果使用非整数,退出状态不为0

 

3、expr   

      expr也有模式匹配功能。

   可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。
        $value=accounts.doc
        $expr $value : '.*'
   输出:12
   在expr中可以使用字符串匹配操作,这里使用模式. d o c抽取文件附属名。
       $expr $value : '/(.*/).doc'
在圆括号前加转义符号是表示圆括号是用于提取功能的。
   输出:accounts

 

4、shift命令

       将参数表向左移动一个位置,$2变成$1,...,依次类推。

 

5、shell中可以嵌套命令,使用/`来保护内层命令,如`cd /`pwd/``。

 

6、设置IFS为换行符:IFS=’

有关$*$@得归纳:

 $*$@扩展为参数,并被重复扫描;参数得空格将字符串分成多个参数;

 “$*”表示shell文件的所有参数及其空格连在一起作为单个词处理;

$@”与shell文件接收的参数等价,参数中的空格被忽略,其结果是等同于原来参数一个单词列表。

 

10、 shell模式匹配规则

         <<s   从本地输入,直至出现字符串s为止,但是要解析输入中的特殊字符,``$/

    <<’s’ 同上,不进行替换。

    <</s 同上。

 

原创粉丝点击