我遇到了一项学校工作,要求我们编译一个c文件并运行各种参数来执行并得到结果,我必须逐个手动键入参数行。
我想知道有没有办法通过将命令写入文件并立即运行来执行命令?像makefile这样的东西,但是对于命令行而不是编译。
例如:
我必须运行一个程序,要求我手动键入
./program 10
./program 100
./program 1000
./program 10000
./program ....
./program ....
./program .....
有没有办法可以将所有这些写入文件并立即运行而无需手动键入所有内容?
谢谢!
答案 0 :(得分:0)
是的,您可以使用Makefile:添加test
目标并将所有测试用例写为此目标的命令。同时使此目标依赖于可执行文件,因此您需要重新编译并运行测试make test
答案 1 :(得分:0)
您可以使用&&
运算符;
./program 10 && ./program 100 && ...
在技术说明中 &&
(essentially a logical AND)的使用通常意味着后续命令仅在前一个命令成功时执行(即返回0
})。
答案 2 :(得分:0)
制作一个这样的剧本:
#!/bin/bash
for i in 10 100 1000; do
./program $i
done
将其另存为go
。
使其可执行:
chmod +x go
运行它:
./go
答案 3 :(得分:0)
Windows批处理示例(source)
for %%s in ("10" "100" "1000" "10000") do call program.exe %%s
Windows powershell示例(source)
$array = @("10", "100", "1000")
foreach ($element in $array) {
& .\program.exe $element
}
答案 4 :(得分:0)
确定,
将所有命令行放入一个文件中,文件中每行一个命令行,
在Linux中,我们调用该文件:值./program .value.
每个值一行。
然后执行文件。
source values
或
. values
在Windows中调用该文件values.bat
然后用
执行文件values.bat