工程管理器的简介以及shell脚本实践指南

一、工程管理器的简介与使用

1、  工程管理器:make

优点:自动编译管理

默认执行文件:makefile

2、  规则:1.创建目标体

                    2.创建目标体的依赖文件

                    3.命令,并以tab键开头

例: hello:hello.o

    <tab>gcc –o hello hello.o

    Hello.o:hello.c

            gcc –c hello.c

    .PHONY:clean          //声明伪目标

    clean:                       //伪目标

            rm –f *.o      

如何执行伪目标:make clean

 

定义变量:

例: obj=main.o func1.o…    

     hello:$(obj)               //取值是用$()

          gcc $(obj) –o hello

        $^         所有依赖文件

        $@        目标文件

        $<         第一个依赖文件

        #          注释

        @         取消命令回显

例: gcc $^ -o $@


shell脚本的简介与实例:

脚本—shell

Shell是一个命令行解释器

Shell的种类:Bourne shell(sh)   Bourne Again shell(bash)

一、变量:

变量名=值例:a=’A’                  注意:变量赋值时,“=”两边都不能有空格

取变量 $变量名  echo(回显)   echo $a

注意:如果变量名与其他合在一起时要用{}分开例:${num}nd

二、默认变量:

$#      传入脚本的命令行参数个数

$*      所有命令行的参数值

$0      命令本身

$1      第一个命令行参数

$2      第二个命令行参数

例: #  ./shell  a   b  

         $0   $1  $2

 

三、Shell 中的循环:

1、if语句:

结构:If[expression]

                            then

                                      #code block

            else if[expression]

                                               then

                                      #code block

                                    else if

                                     …………

            fi

        fi

不管有多少个if else 最后都只需要两个fi 结束

2、  for循环:

for var in [list]       val 是循环控制变量   list是var需要遍历的一个集合

   do

                    #codeblock

   Done

比较操作:

相同:      -eq    =

不同:      -ne   !=

大于:      -gt    >

小于:      -lt     <

大于等于:  -ge

小于等于:  -le

空:        -z

非空:      -n

 

-e 文件已存在

-f 文件是普通文件

-s 文件大小不为零

-d 文件是一个目录

-r 文件对当前用户可以读取

-w 文件对当前用户可以写入

-x 文件对当前用户可以执行

例:    [ -r "$folder" ] && echo"Can read $folder“

[ -f "$folder" ] || echo "thisis not file"

 

3、  while  / untill 循环:

while/untill [ ]                 while—[ ]里为真循环,untill相反

do

         #

 done

4、case开关语句:

      case “$var” in

                   contidion1)

                            ;;

                   contidion1)

                            ;;

                   *)

                   defaultstatements;;

         esac

 

例:

case “$Keypress" in

                   [A-Z]) echo "Uppercase letter";;   

                   [a-z]) echo "Lowercase letter";;    

                   [0-9]) echo "Digit";;

                   *) echo "Punctuation, whitespace, or other";;

         esac 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值