如何在shell脚本中调用C程序?

时间:2011-05-11 20:06:49

标签: shell

我有一个简单的问题。我想在shell脚本中执行C程序。我怎么做?感谢您的帮助。

3 个答案:

答案 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 ...]
    • 该命令必须位于shell搜索的目录中 - 换句话说,在PATH上。
  • 以相对名称:./command [arg1 ...]../../bin/command [arg1 ...]
    • 该程序必须存在且可执行(由您)
  • 绝对名称:/some/directory/bin/command [arg1 ...]
    • 该程序必须存在且可执行(由您)

Unix的优点之一是您创建的程序(无论是使用C语言还是其他任何语言)都可以获得与系统提供的命令相同的状态。唯一的区别是系统提供的命令与您创建的命令(例如/bin/usr/bin)位于不同的位置(例如usr/local/bin$HOME/bin)。