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种方法

你可能感兴趣的:(c++,bash,c++,脚本)