基本上,我希望从 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
等等。
这不起作用,它只是说该文件不存在。我试过使用 exec
和 source
但没有任何效果。当然必须有一种方法可以从其他地方调用它,对吧?我知道理论上我可以将当前目录保存为环境变量,cd
进入目录,./a.out
,然后退出 cd
回到保存的目录,但这似乎很难实现它的值(value)。
编辑:我发现理论上我可以将它放入我的 bin
并使用 -o
进行编译。我没有尝试过,但我不想这样做,因为这段代码仍在开发中,所以我不想每次都必须编译和移动它。
最佳答案
这有效:
“尝试调用/Users/User/screensaver/a.out 而不在路径的开头放置点。出于特殊的安全原因,您需要指定 ./a.out 而不是 a.out when您位于包含可执行文件的目录中。” -tshiono
关于c - 有没有办法从 bash 脚本中执行编译后的 C 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55643188/