我有一個簡單的問題。我想在一個shell腳本中執行一個C程序。我怎麼做?感謝您的幫助提前。如何在shell腳本中調用C程序?
4
A
回答
6
假設這是LINUX/UNIX我們在談論:
#!/bin/sh
/path/to/executable arg1 arg2
4
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
幾乎每個在shell腳本中執行的程序都是一個C程序(但是執行的命令中的一些,通常很多可能會內置到shell中)。你以同樣的方式與任何其他程序執行C程序:
- 通過基本名稱:
command [arg1 ...]
- 的命令必須由外殼搜索的目錄 - 在你的PATH,換句話說。
- 通過相對名稱:
./command [arg1 ...]
或../../bin/command [arg1 ...]
- 程序必須存在且是可執行文件(由你)
- 通過絕對名稱:
/some/directory/bin/command [arg1 ...]
- 程序必須存在且可執行(by you)
Unix的美妙之處在於,您創建的程序無論是使用C還是其他語言,都可以獲得與系統提供的命令相同的狀態。唯一的區別是系統提供的命令與您創建的命令(例如usr/local/bin
或$HOME/bin
)位於不同的位置(例如/bin
或/usr/bin
)。
相關問題
- 1. 使用GDB調試從shell腳本調用的C++程序
- 2. 從C調用shell腳本
- 3. SAS程序調用UNIX Bash Shell腳本
- 4. 在SHELL腳本上執行C程序
- 5. 如何在Perl腳本中調用C#應用程序
- 6. 在調用shell腳本中終止正在運行的程序
- 7. 如何從Atom電子應用程序調用Shell腳本或Python腳本
- 8. 如何從shell腳本調用gdb來運行程序,該腳本又通過boost從C++調用:: process
- 9. 如何從shell腳本調用另一個shell腳本的Unix
- 10. 如何在多進程中從python調用shell腳本?
- 11. 如何在Perl腳本中調用C++程序?
- 12. 如何從網絡程序集調用shell腳本
- 13. 如何從Perl腳本調用shell子程序
- 14. 如何從Java程序調用shell腳本?
- 15. 如何將shell腳本中的值傳遞給C程序
- 16. 在另一個shell腳本中調用shell腳本的區別
- 17. 如何在Shell腳本循環中使用Shark在Mac上剖析C程序?
- 18. 使用Shell腳本在C程序中更改某些東西
- 19. 如何調用或調用。/etc/bash_completion在shell腳本中?
- 20. 如何在android應用程序中包含shell腳本
- 21. 如何在Android應用程序中運行shell腳本?
- 22. 調用shell腳本vs c函數
- 23. 在Korn腳本中調用Shell腳本和Korn腳本
- 24. 從shell腳本中調用java應用程序
- 25. shell腳本,在Python:使用詛咒調用程序等
- 26. 如何從shell腳本調用https url
- 27. 如何從Apache調用shell腳本?
- 28. 如何從Perl腳本調用shell
- 29. 如何從JavaScript調用shell腳本?
- 30. 如何在shell腳本中啓動程序並使shell腳本繼續,即使程序保持打開狀態
只需將程序名稱放在行上即可。你試過了什麼,發生了什麼? – FrustratedWithFormsDesigner 2011-05-11 20:09:09
這個問題要麼太簡單,要麼太複雜。請提供一個你想要做什麼的例子。所有在shell腳本中發生的事情都涉及調用C程序。 – 2011-05-11 20:09:34
在shell腳本中不執行任何C程序會更具挑戰性...... – jlliagre 2011-05-11 20:30:32