2012-08-30 2 views
0

저는 C와 Linux를 처음 사용합니다. 같은 단말기에서 컴파일 된 프로그램을 실행하면 :Linux의 C 프로그램에 명령을 추가하십시오.

./myProg --myCommand1 

myProg 명령 "myCommand1"에 따라 일을 할 것입니다. myProg에 여러 명령을 추가하고 싶습니다. 이 경우 char *argv[]을 사용할 수 있는지 확실하지 않습니다.

감사합니다.

+0

그것은 그에 사용할 수있는 구문 분석합니다. – Daniel

+0

"--myCommand1"의 예는 무엇입니까? 리눅스 유틸리티는 ls 또는 -c와 같은 인수와 같은 것입니까? – squiguy

+2

특히 이러한 것을 ** 명령 줄 인수 **라고합니다. – chrisaycock

답변

2

사용할 수 있습니다. argv[1]이 첫 번째 명령이고 argv[2]이 두 번째 등이됩니다.

+0

오, 나는 그것이 0으로 시작했다고 생각했습니다. 고마워요. – Pacane

+4

@Pacane'argv [0]'은 프로그램의 이름입니다. – chrisaycock

1

대부분의 Linux 명령 줄 프로그램은 getopt()이라는 C 수준 루틴을 사용하여 인수를 구문 분석합니다. argv[] 어레이를 걷는 것만으로 몇 가지 장점이 있습니다. 기본적으로 인수 재 배열, 짧고 긴 플래그, 도움말 메시지, 사용법 설명문 및 잘 작동하는 명령 행 프로그램에서 당연한 것으로 여기는 많은 항목을 처리합니다. 나는 당신이 그것에 대해 알기 위해 하루 이상을 가져갈 것을 강력히 제안한다.

프로그램을 사용하여 getopt에 인수를 쉽게 추가 할 수 있지만 인수가 설정되면 무언가를하는 코드를 작성하는 것은 당신이하는 일에 따라 매우 쉽거나 매우 어렵습니다. 상세하고, 귀하의 세부 사항이 컴퓨터 프로그램에 의해 어떻게 구현되고 있는지에 대해 설명합니다. 쉬운 방법을

+1

'man optarg'로 당신을 올바른 곳으로 데려다 주지만, 대부분의 프로그램은'getopt()'를 사용하여 인수를 구문 분석한다는 의미입니다. – mah

+0

좋은 지적, 업데이트 중 –

3

체크 GNU getopt이있는 CmdLine 인수

관련 문제