`

shell小试

阅读更多
初学shell和make,今天,尝试写了一个为每本C源程序生成编译的makefile脚本:)
#!/bin/sh

rootdir=/BTMU/$1
if [ "$1" = "" ];then
    echo "arg error,not input version!!!"
    exit 1;
fi   
if [ "$2" = "" ];then
    echo "arg error,not input source file list file!!!"
    exit 1;
fi   
export rootdir
if [ ! -d "$rootdir" ];then
    echo "rootdir is not dir"
    exit 1;
fi
cmddir=`pwd`

echo $rootdir

cat /dev/null > sys.txt
cat /dev/null > compileok.txt
cat /dev/null > cmd.txt
ALLINC="-I \
/BeTRAN/include/"

cd $cmddir
rm -f log/*.txt

if [ ! -d "$cmddir/mak/" ];then
    cd $cmddir
    mkdir mak
fi
cd $cmddir
rm -f mak/*.mak

cmdR="xlc"
CFLAG="-c -qsuppress=1506-342"
INCFLAG="-I"

cat $2 |while read line
do   
    file="$rootdir/$line"
    filename=`basename "$file"`
    dirname=`dirname "$file"`
    echo commpar:$file
    if [ ! -f "$file" ];then
        echo "$file" >>$cmddir/sys.txt
        echo "$file is not file" >$cmddir/log/$filename.txt
        cat $cmddir/log/$filename.txt
        sleep 10
    else
        cd $dirname
        echo path:`pwd`
        echo "$filename.o : $file">$cmddir/mak/$filename.mak
        echo "    cd $dirname; $cmdR $CFLAG $INCFLAG../inc/ $ALLINC $file">>$cmddir/mak/$filename.mak
        make -f $cmddir/mak/$filename.mak 2>> $cmddir/commpar.log
        tfile=`cat $cmddir/commpar.log`
        if [ "$tfile" = "" ];then
            echo result :$file ok!!!
            echo $file is ok!!! >>$cmddir/compileok.txt
            echo "ok" >$cmddir/log/$filename.txt
        else
            cp $cmddir/commpar.log $cmddir/log/$filename.txt
        fi
        rm $cmddir/commpar.log
    fi
done
分享到:
评论

相关推荐

    B shell与 C shell的区别

    B shell与 C shell的区别 ; B shell的详解和C shell 的详解

    shell shell练习 shell入门

    shell shell练习 shell入门 shell shell练习 shell入门

    shell算法shell算法shell算法

    shell排序shell排序shell排序shell排序shell排序shell排序shell排序

    shell讲义shell讲义

    shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义shell讲义...

    Shell源码(Shell源码)

    Shell源码Shell源码Shell源码Shell源码Shell源码Shell源码Shell源码Shell源码Shell源码Shell源码

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    shell 编程shell 编程

    shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程...

    shell编程指南shell编程指南shell编程指南shell编程指南

    shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南

    Shell脚本中获取进程ID的方法

    提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为...

    sshshell.zip

    sshshell ssh shell 服务器 远程连接 FTP for mac ssh shell 服务器 远程连接

    shell语言编程shell语言编程

    shell shellshellshell shell shell shell

    shell帮助文档shell帮助文档shell帮助文档

    shell帮助文档shell帮助文档shell帮助文档shell帮助文档shell帮助文档shell帮助文档shell帮助文档

    Linux 下 Shell的工作原理

    shell是用户和Linux操作系统之间的接口。 什么是shell  Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。  shell是用户和Linux内核之间的...

    shell高级编程 shell的经典教程

    shell 是操作系统的最外层。shell 合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。  ...

    shell精品教程shell精品教程shell精品教程

    linux shell 精品 教程 学习shell必看

    Shell编程详解,shell入门,shell实例

    Shell编程详解,shell入门,shell实例

    shell 编程指南pdf

    初学shell 入门好书!!!! 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    shell查看返回值,shell查看返回值,shell查看返回值,

    shell查看返回值,shell查看返回值,shell查看返回值,shell查看返回值,

    shell编程教程.chm

    Unix系列shell程序编写(上) awk基础入门(5) Unix系列shell程序编写(下) Unix系列shell程序编写(中) shell游戏:俄罗斯方块 shell游戏:五子棋 shell游戏:老虎机 shell游戏:贪吃蛇 shell游戏:扫雷 初学者入门...

    250个shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来...

Global site tag (gtag.js) - Google Analytics