1. 建立乙個指令碼a,內容如下:
#!/bin/sh
#filename: a
exit 22
2. 建立乙個c語言程式1.c,呼叫該指令碼,通過system的返回值來判斷是否執行指令碼成功.
#include
#include
#include
int main()
通過: g++ -o test 1.c得到可執行檔案:test.
執行:./text後得到的結果就是: 22.
3. 修改指令碼a,在a中實現檔案拷貝的功能,如果拷貝不成功,則出現乙個自定義的提示.
#!/bin/sh
#filename: a
if cp 1.c 2.c > /dev/null 2>
then
echo "cp succeed !";
else
echo "`basename $0`: cp not succeed !";
fi執行text,得到的結果為:
cp succeed !
0如果要拷貝的檔案為3.c,該檔案是乙個不存在的檔案,如下所示:
#!/bin/sh
#filename: a
if cp 3.c 2.c > /dev/null 2>
then
echo "cp succeed !";
else
echo "`basename $0`: cp not succeed !";
exit 1;fi
那麼執行./test後得到的結果就是:
a: cp not succeed !
1通過上面的操作我們知道了if在測試返回值的時候: 0表示真;1表示假.
system系統呼叫的使用
system 系統呼叫在應用中很廣泛 可以直接在c 中呼叫命令,執行一些特殊操作,用法如下.1.直接執行命令 可以在c檔案中直接執行命令,這是基本用法,例如 system mkdir test system chmod 777 test.bin 等等 2.如果需要執行的命令是變動的,則可以使用字串變...
C語言中system呼叫shell指令碼的問題
在c語言中使用system 語句呼叫shell指令碼時,c語言程式並不會等待system 語句執行完畢尤其在shell指令碼有呼叫bash下命令時並向檔案輸出時,又無法用重新整理標準輸出流緩衝區的方式來解決亂序輸出的問題.例如 c中部分 for int i 0 i 5 i system test.s...
system函式呼叫
相關函式 fork,execve,waitpid,popen 表頭檔案 include 定義函式 int system const char string 函式說明 system 會呼叫fork 產生子程序,由子程序來呼叫 bin sh c string來執行引數string字串所代表的命令,此命 ...