AC 프로그램을 사용하여 사용자가 Linux에있는 명령을 입력했는지 확인하는 방법

작은

사용자가 c 문자열을 입력 할 수있는이 프로그램을 수행하고 있으며 사용자가 입력 한 문자열이 Linux 명령인지 확인하는 기능을 만들고 싶습니다. 전의. 사용자 : cat 출력 : cat은 명령입니다.

사용자 : hello 출력 : hello는 명령이 아닙니다.

기타...

나는 execvp를 사용할 수 있다고 들었지만 명령이 존재하는지 알아 내기 위해 명령을 실행하고 싶지 않습니다. 그냥 존재하는지 확인하고 싶습니다.

나는 리눅스가 특정 명령의 위치를 ​​출력하는 whereis 명령을 어떻게 활용할 수 있다고 생각했지만 c에서 이것을 구현하는 방법을 모릅니다.

나는 또한 stat ()가 작동 할 수 있다고 들었지만 그 마르코가 디렉토리와 파일에 대해서만 변경되기 때문에 어떻게 해야할지 모르겠습니다. 그래서 명령은 고양이 파일과 같은가요? 그렇다면 다음과 같이 stat를 실행할 때 :

stat (cmd, & buff);

cmd의 경로가 필요하지 않습니까?

전반적으로 사용자가 c를 사용하여 Linux에서 유효한 명령을 입력했는지 확인하고 솔루션을 상대적으로 안정적으로 만들 수 있습니까?

Lars Fischer

Linux which명령과 C 기능 의 조합을 사용할 수 있습니다 popen.

char testCmd[100];
char usrCmd[100];

strcpy(testCmd, "which ");
strcpy(usrCmd, "cat hello.txt");
strncat(testCmd, usrCmd, 93);

char path[100];
FILE *p = popen( testCmd , "r");
if(p ) {
    while(fgets(path, sizeof(path), p) != NULL) {
        printf("%s", path);
    }
}

which명령을 전달하는 인수의 경로를 반환 cat hello.txt도 일 것으로 보인다. 출력 리디렉션과 같은 불쾌한 것을 예상하는 경우 사용자 입력의 첫 번째 단어 만 which.

which 명령에 대한 경로 (경로에있는 경우) 또는 개행 (명령을 찾을 수없는 경우)을 인쇄합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

If, then ... fi 명령을 사용하여 사용자가 올바른 파일 형식을 입력했는지 확인하는 방법은 무엇입니까?

분류에서Dev

child_process.exec (command [, options] [, callback])을 사용하여 Node.js 앱에서 일부 사용자 입력으로 ac 프로그램을 컴파일하는 방법

분류에서Dev

응용 프로그램을 여는 명령을 확인하는 방법은 무엇입니까?

분류에서Dev

명령 프롬프트 또는 배치 파일을 사용하여 사용자가 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

Linux 명령을 사용하여 OS 및 버전을 확인하는 방법

분류에서Dev

사용자가 경고 대화 상자에 버튼을 입력했는지 확인하는 방법

분류에서Dev

파이프 된 명령 / 프로그램 체인과 함께 watch 명령을 사용하는 방법

분류에서Dev

C 프로그래밍 : 사용자가 다음 식에만 숫자 값을 입력했는지 확인하는 방법은 무엇입니까?

분류에서Dev

'시작'명령을 사용하여 Windows 'cmd에서 명령 줄 인수로 프로그램을 시작하는 방법은 무엇입니까?

분류에서Dev

사용자가 Facebook을 통해 로그인했는지 확인하는 방법

분류에서Dev

명령 줄로 저장소에서 프로그램을 사용할 수 있는지 확인하는 방법이 있습니까?

분류에서Dev

명령 줄로 저장소에서 프로그램을 사용할 수 있는지 확인하는 방법이 있습니까?

분류에서Dev

프로그램 C ++를 사용하여 프로그램을 여는 방법

분류에서Dev

getent passwd 명령을 사용하여 사용자가 존재하고 특정 그룹에 속하는지 확인하는 방법

분류에서Dev

`sed` 명령을 사용하여 확인을 요청하는 방법

분류에서Dev

코드를 사용하여 프로그램을 여는 방법

분류에서Dev

Linux에서 사용자 로그인 전에 명령을 실행하는 방법

분류에서Dev

Office AddIn Host가 office.js를 사용하여 Outlook 응용 프로그램을 실행하고 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

MonkeyTalk 명령을 사용하여 버튼 상태를 확인하는 방법

분류에서Dev

명령 줄을 사용하여 응용 프로그램별로 특정 장치로 오디오 출력을 전환하는 방법은 무엇입니까?

분류에서Dev

내 Linux 배포판에서 명령을 사용할 수 있는지 확인하는 방법

분류에서Dev

명령 줄을 사용하여 줄을 추가하는 방법

분류에서Dev

Linux에서 ac 프로그램을 실행하는 동안 mpirun 명령 오류

분류에서Dev

사용자가 로그인했는지 확인하는 방법

분류에서Dev

C #을 사용하여 Windows Phone 7 응용 프로그램의 IF 문에서 두 가지 조건을 확인하는 방법은 무엇입니까?

분류에서Dev

사용자가 배열을 사용하여 동일한 문자열을 두 번 입력했는지 확인

분류에서Dev

NSIS를 사용하여 "연결 프로그램"메뉴에 프로그램을 추가하는 방법

분류에서Dev

UI에서 가져온 사용자 입력을 명령 줄로 보내고 목표 c를 사용하여 명령을 실행하는 방법

분류에서Dev

메인 프로그램에서 생성자 주입을 사용하는 방법

Related 관련 기사

  1. 1

    If, then ... fi 명령을 사용하여 사용자가 올바른 파일 형식을 입력했는지 확인하는 방법은 무엇입니까?

  2. 2

    child_process.exec (command [, options] [, callback])을 사용하여 Node.js 앱에서 일부 사용자 입력으로 ac 프로그램을 컴파일하는 방법

  3. 3

    응용 프로그램을 여는 명령을 확인하는 방법은 무엇입니까?

  4. 4

    명령 프롬프트 또는 배치 파일을 사용하여 사용자가 있는지 확인하는 방법은 무엇입니까?

  5. 5

    Linux 명령을 사용하여 OS 및 버전을 확인하는 방법

  6. 6

    사용자가 경고 대화 상자에 버튼을 입력했는지 확인하는 방법

  7. 7

    파이프 된 명령 / 프로그램 체인과 함께 watch 명령을 사용하는 방법

  8. 8

    C 프로그래밍 : 사용자가 다음 식에만 숫자 값을 입력했는지 확인하는 방법은 무엇입니까?

  9. 9

    '시작'명령을 사용하여 Windows 'cmd에서 명령 줄 인수로 프로그램을 시작하는 방법은 무엇입니까?

  10. 10

    사용자가 Facebook을 통해 로그인했는지 확인하는 방법

  11. 11

    명령 줄로 저장소에서 프로그램을 사용할 수 있는지 확인하는 방법이 있습니까?

  12. 12

    명령 줄로 저장소에서 프로그램을 사용할 수 있는지 확인하는 방법이 있습니까?

  13. 13

    프로그램 C ++를 사용하여 프로그램을 여는 방법

  14. 14

    getent passwd 명령을 사용하여 사용자가 존재하고 특정 그룹에 속하는지 확인하는 방법

  15. 15

    `sed` 명령을 사용하여 확인을 요청하는 방법

  16. 16

    코드를 사용하여 프로그램을 여는 방법

  17. 17

    Linux에서 사용자 로그인 전에 명령을 실행하는 방법

  18. 18

    Office AddIn Host가 office.js를 사용하여 Outlook 응용 프로그램을 실행하고 있는지 확인하는 방법은 무엇입니까?

  19. 19

    MonkeyTalk 명령을 사용하여 버튼 상태를 확인하는 방법

  20. 20

    명령 줄을 사용하여 응용 프로그램별로 특정 장치로 오디오 출력을 전환하는 방법은 무엇입니까?

  21. 21

    내 Linux 배포판에서 명령을 사용할 수 있는지 확인하는 방법

  22. 22

    명령 줄을 사용하여 줄을 추가하는 방법

  23. 23

    Linux에서 ac 프로그램을 실행하는 동안 mpirun 명령 오류

  24. 24

    사용자가 로그인했는지 확인하는 방법

  25. 25

    C #을 사용하여 Windows Phone 7 응용 프로그램의 IF 문에서 두 가지 조건을 확인하는 방법은 무엇입니까?

  26. 26

    사용자가 배열을 사용하여 동일한 문자열을 두 번 입력했는지 확인

  27. 27

    NSIS를 사용하여 "연결 프로그램"메뉴에 프로그램을 추가하는 방법

  28. 28

    UI에서 가져온 사용자 입력을 명령 줄로 보내고 목표 c를 사용하여 명령을 실행하는 방법

  29. 29

    메인 프로그램에서 생성자 주입을 사용하는 방법

뜨겁다태그

보관