為什麼c語言在shell中執行?抖音小王子2021-07-22 09:42:07

C語言可以透過system()呼叫執行外部shell指令碼,但shell腳本里不能直接執行C程式碼。

因為shell指令碼是解釋執行的,C程式碼只能被C編譯器認可,需要編譯成可執行檔案後才能在shell指令碼中呼叫。

awk文字處理工具裡的環境基本是C語法,所以如果shell腳本里使用awk,那麼是可以直接用C語法的。 c語言可以呼叫shell指令碼,不過要藉助一些命令。

sytem()即可如: system(“nohup /home/yuxc/ttt。sh”) 要想透過C語言命令,執行ttt。sh,透過c編譯後的c程式必須放在ttt。sh同一路徑下,並且賦予該編譯後的C程式(XXX。out)對應的許可權(為方便直接給7777許可權chmod 7777 XXX。out)不然會出現找不到該檔案路徑的錯誤,或者無法呼叫某些函式如(setuid())。