我有一个简单的问题。我想在shell脚本中执行C程序。我怎么做?感谢您的帮助。
答案 0 :(得分:7)
假设这是linux / unix,我们正在谈论:
#!/bin/sh
/path/to/executable arg1 arg2
答案 1 :(得分:5)
cc hello_world.c #produces a.out
./a.out #run your program
恕我直言,你的问题是$ PATH。您当前的目录不在PATH中,因此当您输入
时a.out
你的shell回复:
-bash: a.out: command not found
应执行
./a.out
(或在你的PATH中添加“。”,但不推荐。)
答案 2 :(得分:3)
你在shell脚本中执行的几乎每个程序都是一个C程序(但是你执行的命令中有一些,通常很多都可以构建到shell中)。您以与任何其他程序相同的方式执行C程序:
command [arg1 ...]
./command [arg1 ...]
或../../bin/command [arg1 ...]
/some/directory/bin/command [arg1 ...]
Unix的优点之一是您创建的程序(无论是使用C语言还是其他任何语言)都可以获得与系统提供的命令相同的状态。唯一的区别是系统提供的命令与您创建的命令(例如/bin
或/usr/bin
)位于不同的位置(例如usr/local/bin
或$HOME/bin
)。