Shell脚本语言基础

来源:互联网 发布:公务员取消编制知乎 编辑:程序博客网 时间:2024/05/22 00:30

      脚本语言通常是解释型的,是一个高级语言。它需要解释器对其进行解释执行。

1.在脚本文件第一行,使用“#!”对使用哪个解释器进行标注。例如:#!/bin/sh  、#!/bin/bash

2.给脚本文件加上可执行权限:chomd +x  shellFile

3.~$:cd work ; ls  -l  hello.java   (用分号隔开两个命令,如果命令后面跟着的是&,则在后台执行该命令) 

4.Shell识别三种基本命令:内建命令(test 、cd等)、Shell函数以及外部命令。

5.变量

   

6.基本的I/O重定向

   1)以<改变标准输入     program <  file              (file文件作为program的输入)

   2)以>改变标准输出     program >  file              (program的输出到file文件)

   3)以>>附加到文件      program >>  file            (program的输出附加到file文件结尾)

   4)以 | 建立管道           program1 |  program2  (program1的输出作为program2的输入)

7.参数表示

     $数字(1-9) //大于9的需要用{}括起来(如:${10})

8.打开/关闭执行跟踪

     set -x (打开)

     set +x(关闭)

9.国际化(i18n)和本地化(i10n)

国际化和本地化之间的区别虽然微妙,但却很重要。国际化意味着产品有适用于任何地方的“潜力”;本地化则是为了更适合于“特定”地方的使用,而另外增添的特色。用一项产品来说,国际化只需做一次,但本地化则要针对不同的区域各做一次。 这两者之间是互补的,并且两者合起来才能让一个系统适用于各地。

10.查找命令

     grep / find

     grep "MGExt_PvrRecord" ./ -R

     find ./ -name a.java


第六节(变量、判断、重复动作)

1)变量赋值     

        格式:变量名=字符 //如果字符中含有空格,则需要用引号将字符括起来

        示例:(fullName="zhang san"    oldName=$fullName)

        引用变量:$变量名

        输出变量:echo  $变量名

2)变量管理的两个命令(readonly、export)

        示例:Foo=sonmeValue

                   export Foo / readonly Foo         

注意:赋值时不要等号前变量后不要有空格,否则会将变量当作命令,把=和后面的变量值当作参数。

3)替换运算符

      ${varname:-word}         //如果varname存在并且非null,则返回其值,否则返回word

                                            功能:如果变量未定义则返回默认值。

      ${varname:=word}        //如果varname存在并且非null,则返回其值,否则设置其值为word,并返回其值。

                                           功能:如果变量定义,则设置为默认值。

      ${varname:?message} //如果varname存在并且非null,则返回其值,否则显示varname:message,并退出当前的脚本或命令。

                                           功能:为了捕捉由于变量未定义而大致的错误。

      ${varname:+word}        //如果varname存在并且非null,则返回word,否则返回null。

                                           功能:为测试变量是否存在。


   

0 0
原创粉丝点击