파일에 일부 데이터 (일부 디렉토리의 * conf)를 넣는 연습이 있으며 백그라운드에서이 작업을 수행해야합니다. 내가 해냈고 출력 메시지의 의미가 무엇인지 궁금합니다.

[A@localhost tests]$ ls -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1 & 

Enter가이 행을 올립니다.

[1] 2533 

무슨 뜻입니까? 다른 Enter 후에 다른 메시지가 나타납니다.

[A@localhost tests]$ [1]+ Exit 2 ls --color=auto -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1 

무슨 의미입니까? “Exit 2″가 무엇인가요?

확인 결과를 입력하세요. 괜찮은 것 같습니다.

[A@localhost tests]$ [A@localhost tests]$ ls -l test1_6_conf.txt -rw-rw-r--. 1 A A 2641 Nov 22 14:19 test1_6_conf.txt [A@localhost tests]$ 

CentOS 6.4를 사용하고 있습니다. 그놈 터미널 에뮬레이터.

답변

무슨 의미입니까? “Exit 2″란 무엇입니까?

ls의 종료 상태입니다. ls에 대한 man 참조 :

 Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). 

이유는 /etc에 * conf 파일이 많기 때문인 것 같습니다. / usr에 * conf 파일이 없습니다. 사실 ls -ld /usr/*conf;도 같은 효과를 냈을 것입니다.

그래서 기존에있는 ls file :

ls main.cpp; echo $? main.cpp 0 

존재하지 않는 파일의 경우 :

ls main.cppp; echo $? ls: cannot access main.cppp: No such file or directory 2 

또는 존재하지 않는 파일에 대한 백그라운드 프로세스 ls :

>ls main.cppp & [1] 26880 ls: cannot access main.cppp: No such file or directory [1]+ Exit 2 ls main.cppp 

댓글

  • O! 감사. 이제 ' ls /usr/*conf2를 반환한다는 것을 깨달았습니다. id = “eb9ec21234″>

conf ".

  • @ALZ, /usr/*conf. 그리고 bash 는 해당 패턴과 일치하는 파일을 ' 찾을 수 없기 때문에 해당 파일 이름을 전달합니다. zsh와 같은 더 나은 셸은 " 일치하지 않음 " 오류를 반환하고 ls.
  • 답변

    즉, 명령이 완료되었습니다. 종료 상태가 0 (성공)과 다릅니다.

    끝에 배치 (&)하지 마십시오. , 어떻게되는지 확인하세요.

    명령을 실행할 때 많은 시간이 소요되는 경우 다음을 통해 확인할 수 있습니다.

    lnx #> 작업 -l

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다