一个bash脚本,它将.c文件名作为参数,然后执行该文件

时间:2016-03-08 04:52:03

标签: c bash

所以我在我的大学做了一个分级,我试图创建一个bash脚本,将编译的c程序作为参数读入,然后在测试一堆的程序上运行一堆测试不同的场景使我不必每次都使用不同的输入来运行程序。

这就是我所拥有的

#!/bin/bash
#test.sh
read studentFile


$studentFile "1011" "2" "10"
echo "11"
./$studentFile "1011" "2" "16"
echo "B"
./$studentFile "1010" "2" "8"
echo "12"
./$studentFile "FA" "16" "2" 
echo "11111010" 
./$studentFile "12" "8" "2"
echo "1010" 

等。 (每次执行后的打印输出是程序应该返回并匹配的正确答案)

每当我用一个已编译的c程序作为输入运行它 即

./test.sh studentfilename

它会返回此错误

./test.sh: line 8: ./: Is a directory

我尝试运行该程序的每一行。

我已经测试了输入文件并确保它在尝试将其输入到此测试脚本之前有效。

有谁知道如何将文件作为输入并运行它?

任何帮助非常感谢谢谢!!

2 个答案:

答案 0 :(得分:3)

由于您使用已编译的程序作为参数调用脚本,因此需要使用

read studentFile

不是

width

答案 1 :(得分:2)

您希望通过命令行参数传递文件名,因此您必须使用studentFile=$1之类的变量来获取名称。

尝试使用read studentFile代替socket_connect