有没有一种方法可以从bash脚本中执行已编译的C代码?

时间:2019-04-12 01:20:46

标签: c bash gcc

基本上,我希望从bash脚本内部调用已编译的C代码。我希望能够从任何目录调用./a.out并执行它。

这一切都源于一些非常简单的事情。我编写了一个curses程序,该程序是终端的屏幕保护程序。我希望能够调用bash命令screensaver,并且希望通过bash调用c代码。我希望能够从文件系统中的任何位置调用它。我正在运行2013年的Macbook,但我认为这更多是C问题而不是硬件问题,我可以根据需要提供更多详细信息。

文件在这里:

/Users/User/screensaver/screensaver.c

cd /Users/User/screensaver

gcc screensaver.c创建a.out

然后我可以跑步

./a.out 然后代码运行。

除其他外,我还尝试致电./Users/User/screensaver/a.out

这不起作用,它只是说该文件不存在。我尝试使用execsource,但没有任何效果。当然,必须有一种从其他地方调用此方法的方法,对吗?我知道从理论上讲我可以将当​​前目录保存为环境变量cd到目录./a.out中,然后退出cd到保存的目录中,但这似乎很麻烦为了它的价值。

编辑:我发现从理论上讲我可以将其放入我的bin中并用-o进行编译。我没有尝试过,但是我不想这样做,因为该代码仍在开发中,所以我不想每次都进行编译和移动。

1 个答案:

答案 0 :(得分:0)

这有效:

“尝试调用/Users/User/screensaver/a.out而不在路径的开头添加点。出于特殊的安全原因,当您需要指定./a.out而不是a.out时您位于包含可执行文件的目录中。” -tshiono

相关问题