本质上,我希望从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
回到保存的目录,但这似乎很难为它的价值而奋斗。
编辑:我看到我理论上可以把它放在我的bin
并用-o
编译。我没有尝试过,但我不想这样做,因为这段代码仍在开发中,所以我不想每次都编译和移动它。
这有效:
“尝试调用/Users/User/screensaver/a.out而不在路径的开头添加一个点。有一个特殊的安全原因,你需要在你进入时指定./a.out而不是a.out保存可执行文件的目录。“ -tshiono