我想构建一个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
答案 0 :(得分:0)
错误消息看起来在脚本中有DOS行结尾。请尝试dos2unix
或tr -d '\015'
进行修复。 (如果您需要帮助,可以使用谷歌;这是一个非常常见的问题。)