编译后运行Shell脚本时出现问题

时间:2019-11-15 00:03:25

标签: linux

我创建了一个shell脚本,当从命令行调用它并为它提供每个参数时,它可以完美运行。但是,当我使用我的make文件编译脚本时,它会忽略不提供任何参数且不输出任何内容的情况。

如果没有参数通过命令行传递,我的逻辑是否有问题?

#!/bin/bash
# findName.sh
searchFile="/acct/common/CSCE215-Fall19"

if [[ $1 = "" ]] ; then
echo "ERROR ARGUMENT NEEDED"
exit 2
fi

grep -i $1 ${searchFile}
if [[ $? = "1" ]] ; then
  echo "$1 was not found in ${searchFile}"
fi

修改

#makefile for building

findName:       main.o
    g++ -g main.o -o findName

# main
main.o:         main.cpp
        g++ -c -g main.cpp

clean:
        /bin/rm -f findName *.o

backup:
        tar cvf proj.tar * cpp Makefile *.sh readme

main.cpp

#include <string>
#include <cstdlib>

int main(int argc, char* argv[])
{
    std::string command = "./findName.sh";

    if(argc == 2)
        std::system((command + " " + argv[1]).c_str());
}

0 个答案:

没有答案