2016-09-29 193 views
0

我遇到了一個學校的工作,需要我們編譯一個c文件並運行各種參數來執行並​​得到結果,我必須手動在參數行中逐個鍵入。在終端中運行各種命令

我想知道有沒有辦法通過將它寫入文件並立即運行它來執行該命令?有點像makefile,但是用於命令行而不是編譯。

例如:

我要運行需要我在

./program 10 

./program 100 

./program 1000 

./program 10000 

./program .... 

./program .... 

./program ..... 

手動密鑰的程序有沒有一種方法,我可以寫所有這些到一個文件中,並在一次不運行手動鍵入一切?

謝謝!

+0

給它的命令行腳本一試,並要求對在這裏請幫忙。 –

+1

您應該移除[tag:C]和[tag:C++]標籤並添加[tag:sh]或[tag:shell]標籤。你的問題與C或C++無關 – tofro

回答

0

是的,您可以使用Makefile進行以下操作:添加一個test目標並將所有測試用例寫入此目標的命令。也可以使這個目標取決於可執行文件,因此您將需要重新編譯並運行測試,這是make test

0

您可以使用&&運算符;

./program 10 && ./program 100 && ... 

在技術記使用&&essentially a logical AND)通常意味着,如果前一個成功的後續命令僅執行(即返回0)。

0

做一個這樣的腳本:

#!/bin/bash 
for i in 10 100 1000; do 
    ./program $i 
done 

保存它作爲go

使其可執行:

chmod +x go 

運行:

./go 
0

Windows批處理例子(source

for %%s in ("10" "100" "1000" "10000") do call program.exe %%s 
  1. 保存在一個文本文件如loop.bat(在相同的位置的Program.exe)
  2. 開放的cmd.exe(視窗+ R - >的cmd.exe - >輸入)
  3. 導航到loop.bat的位置
  4. 輸入「循環。蝙蝠」

的Windows PowerShell例子(source

$array = @("10", "100", "1000") 
foreach ($element in $array) { 
    & .\program.exe $element 
} 
  1. 保存在一個文本文件,例如: loop.ps1(與程序位於同一位置。exe文件)
  2. 開放的PowerShell(Windows鍵+ R - > PowerShell的 - >輸入)
  3. 導航到loop.ps1
  4. 的位置\ loop.ps1
0

肯定,

廣場。所有的命令行到文件中,每在該文件中一行一個命令行,

在Linux中,讓調用文件:值

./program .value. 

每個值一行。

然後執行該文件。

source values 

. values 

在窗口調用該文件values.bat

然後執行該文件與

values.bat