所以我做了gcc -Wall -o file file.c
,我的程序使用echo abc | ./file
,但是當我嘗試sh file abc
,它說file : file cannot execute binary file
,我該怎麼辦才能解決這個問題?我的C原型是int main(int argc, char **argv)
,不知道這是否有幫助。我該怎麼做才能讓我的C腳本可以執行二進制文件?
謝謝!
所以我做了gcc -Wall -o file file.c
,我的程序使用echo abc | ./file
,但是當我嘗試sh file abc
,它說file : file cannot execute binary file
,我該怎麼辦才能解決這個問題?我的C原型是int main(int argc, char **argv)
,不知道這是否有幫助。我該怎麼做才能讓我的C腳本可以執行二進制文件?
謝謝!
您試圖將文件(即已編譯的可執行文件)作爲shell腳本執行。這是行不通的。您的意思是
sh -c ./file
file
並不是腳本,而是一個二進制文件。sh
執行它意味着它是sh/bash腳本。./file
。
shell('/ bin/sh')只能執行shell腳本。如果你想執行一個二進制文件,你可以像運行'./ file'一樣運行該文件。 – larsks
只需鍵入./file abc – pm100