在shell脚本中执行make命令的正确方法是什么?

时间:2012-05-05 13:50:26

标签: linux bash shell

我想构建一个shell脚本来执行以下两个命令,但是shell抱怨它不知道参数是clean还是重新加载。

    make -f '/home/ec2-user/infx/infx.mak' clean
    make -f '/home/ec2-user/infx/infx.mak' reload > '/home/ec2-user/infx/mylog.txt' 2>&1

我想在目录中创建一个变量,但是在尝试连接目录和infx.mak时,我遇到了更多问题。

感谢您的帮助

代码和错误:

    echo "Cleaning Project"
    make -f '/home/ec2-user/infx/infx.mak' clean
    echo "Making Project"
    make -f '/home/ec2-user/infx/infx.mak' reload > '/home/ec2-user/infx/mylog.txt' 2>&1
    srcdir='/home/ec2-user/infx'
    srcmak='/infx.mak'
    echo "$srcmak$srcdir"
    exit 0

    [ec2-user@ip infx]$ sudo ./reload.sh
    '.  Stop. No rule to make target `clean
    : ambiguous redirect 1
    /home/ec2-user/infx

1 个答案:

答案 0 :(得分:0)

错误消息看起来在脚本中有DOS行结尾。请尝试dos2unixtr -d '\015'进行修复。 (如果您需要帮助,可以使用谷歌;这是一个非常常见的问题。)