bash腳本運行C++程序

一直想用命令來運行程序,不用手動重複輸入。今天學點皮毛,能跑程序。現在總結一下。

第一個shell腳本

使用vi/vim 創建一個文件 test.sh (擴展名爲sh,表示shell.)

輸入代碼

#!bin/bash
cho "Hello World!"

#!告訴系統腳本需要用什麼解釋器來執行,即使用哪一種shell.
echo 命令用於向窗口輸出文件。

運行Shell 腳本的方法

1.作爲可執行程序
cd到上面程序所在目錄:

chmod +x ./test.sh #使腳本具有執行權限
./test.sh #執行腳本

注意,這裏和運行其他可執行文件一樣,一定寫成 ./test.sh,而不是 test.sh

2.作爲解釋器參數
直接運行解釋器,參數就是shell腳本的文件名

/bin/sh/ test.sh

運行c++程序

循環運行帶有兩個參數的c++程序。第一個參數是輸入文件名,第二個參數是隨機生成數的seed設置。
已經編譯了程序,編譯好的執行文件名爲run

#!/bin/bash
input="input.file"
seeds=(5 10 15 20 25 30 35 40 45 50)
for seed in ${seed[@]}
do
	./run $input $seed
done

將上面代碼保存爲 test.sh. 則使用第一種方法 作爲可執行程序運行 沒有問題。
但是使用第二種方法時出現錯誤:

test.sh: 2: test.sh: Syntax error: "(" unexpected 

搜索後因爲sh和bash 有些地方不兼容。 bash test.sh 或者直接運行。

參考文獻:
Shell 教程
Syntax error: “(” unexpected
Linux下自動編譯和運行c++文件的shell腳本
shell 數組遍歷的3種方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章