简单的bash脚本

时间:2014-11-02 16:10:23

标签: linux bash unix ubuntu

我是bash脚本的新手,并且要制作剧本

目标:恢复2个名称(1 - logfilename 2-程序名称)程序应该编译程序

并将两个输出发送到日志

如果成功则写入"编译V"并返回0,否则编译X并返回数字

我试过

#!/bin/bash

gcc {$2}.c -Wall -g -o $2> $1 2>&1
exit

并且我不知道如何检查它是否成功以及回显V或X

编辑: 对你们来说,我得到了这个

#!/bin/bash

gcc {$2}.c -Wall -g -o ${2}>${1} 2>&1

if (($?==0));then
    echo Compile V
[else
    echo compile X]
fi
exit

但是所有if部分仍无法正常工作......

4 个答案:

答案 0 :(得分:1)

您可以像这样检查退出状态gcc

#!/bin/bash

# execute gcc command
gcc "$2".c -Wall -g -o "$2"> "$1" 2>&1

# grab exit status of gcc
ret=$?

# write appropriate message as per return status value
((ret == 0)) && echo "compile V" || echo "compile X"

# return the exit status of gcc
exit $ret

答案 1 :(得分:0)

如果$? = 0,则可以通过命令echo $?检查bash中程序是否成功,然后成功则失败。

答案 2 :(得分:0)

此代码应该有效:

#!/bin/bash
gcc -v ${2}.c -Wall -g -o ${2}>${1} 2>&1
exit

答案 3 :(得分:0)

试试这个:

#!/bin/bash
gcc "$2"".c" -Wall -g -o "$2" 2>&1 >"$1"
#check for error of previous command
if $? ; then echo compile V >>"$1"
else echo compile X >>"$1"; fi
exit