2013-12-22 6 views

답변

0

시도 :

command1 | command2 ; command3 

세미콜론의 접근 방식은 이전 명령 여부를 고려하지 않습니다 : 당신이 Command2를 마지막 명령 3을 실행하는 파이프에 지령 1의 출력을 원한다면

command1 ; command2 ; command3 

성공적이었다. 당신이 지령 1의 실패에 대한 실행을 중지하려면 다음을 사용할 수 있습니다

command1 && command2 ; command3 
+0

나는 command1을 시도했습니다. command2 작동하지만 그것은 단지 출력 및 첫 번째 commamd 표시 및 다른 명령의 명령을 인쇄하지 않습니다 .. 해당 출력 각 명령이 필요합니다 – user2792748

0

을 단일 명령 줄을 함께하고 싶어, 당신은 세미콜론으로 명령을 연결할 수 있습니다

command1 ; command2 ; command3 

당신이 만약 이전 답변에서 언급 한 바와 같이

command1 && command2 && command3 
+0

나는 command1을 시도; command2 작동하지만 출력 및 첫 번째 commamd 표시하고 다른 명령의 명령을 인쇄하지 않습니다. 각 명령에 해당 출력이 필요합니다. – user2792748

+0

출력이란 무엇을 의미합니까? 내가 'pwd; ls '두 명령의 결과를 얻습니다. – Jack

+0

예를 들면 : 내가 command1을 실행하면 command .. 출력은 output1 output2 ..이고 다음과 같이 입력하고 싶습니다 : command1 output1 command2 output2 – user2792748

0

, 당신은 C : "& &"로 연결, 이전 사람이 성공하는 경우에만 실행되도록 나중에 명령을 원하는 ;&&을 사용하여 명령 목록에서 명령을 종료하거나 분리하십시오. 여기서 ;은 단순 무조건 순서 지정을 나타내고 &&은 이전 명령이 성공할 경우에만 다음 명령을 실행합니다. (다른 명령 분리기 &, |, ||, 등을 포함, 그들은 작동하는 방법의 자세한 내용은 bash는 남자 페이지의 시작 부분에 절에서 하위 목록 SHELL 문법를 참조하십시오.)

가에서 명령을 원인 해당 명령의 출력이 표시되도록 목록을 표시하려면 set -x을 사용하여 셸의 XTRACE 옵션을 켤 수 있습니다. 나중에 set +x을 사용하여 끄십시오. XTRACE가 명령을 표시하는 형식은 PS4 매개 변수의 내용에 의해 제어됩니다. 다음은 명령 입력 2 줄과 출력 14 줄의 예제 사본입니다.

$ alias d='date +%N' 
$ d;d; set -x; d;d; echo PS4 is $PS4; d; set +x; d;d;d 
726496303 
729638881 
+ date +%N 
733073117 
+ date +%N 
736249778 
+ echo PS4 is + 
PS4 is + 
+ date +%N 
739730109 
+ set +x 
743027175 
746206908 
749367086 
관련 문제