當一個用C語言編寫的Linux程序運行時,它是從main函數開始的。main程序的聲明能夠以下:linux
int main(int argc, char *argv[])
其中argc是程序參數的個數,argv是一個表明參數自身的字符串數組。shell
在Linux中,咱們通常使用shell命令運行一個可執行文件,例如:ubuntu
$myprog left right 'and center'
程序myprog將從main函數開始,main帶的參數是:數組
argc:4 argv:{"myprog", "left", "right", "and center" }
注意,參數的個數包含程序名自身。函數
在linux中,咱們建議在應用程序中,全部的命令行開頭都應以一個短橫線開頭,氣候包含單個字母或數字。若是須要,不帶後續參數的選項能夠在一個短橫線後歸併到一塊兒,例如「$ls -lstr」,若是該選項須要參數值,則該選項應獨立使用,參數緊跟在該選項後。例如「gcc -o file file.c」測試
下面這個程序argc.c對其參數進行檢查:網站
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int arg; for(arg = 0; arg < argc; arg++) { if(argv[arg][0] == '-') printf("option: %s\n", argv[arg]+1); else printf("argument %d: %s\n", arg, argv[arg]); } exit(0); }
測試以下:spa
root@ubuntu:/home/anthony# ./args -i -lr 'hi there' -f fred.c argument 0: ./args option: i option: lr argument 3: hi there option: f argument 5: fred.c
本例中,咱們忽略了一種事實,就是-lr選項應該和-l -r同樣處理。命令行
關於Linux的shell命令的源代碼,能夠從GNU網站中下載:code