bash 파이프에서 이전 명령의 출력을 다음 명령에 대한 변수로 가져옵니다 (예 : if 문).

벼락

파일의 해시를 비교하는 명령을 작성하고 싶었습니다. 아래 한 줄 명령을 작성했습니다. 파이프에서 이전 명령의 출력을 현재 명령의 변수로 가져 오는 방법에 대해 알고 싶었습니다.

예 : 아래 명령은 "Calculated hash"첫 번째 명령의 출력을 원래 해시와 비교하고 싶었습니다. 마지막 명령에서 이전 명령의 출력을 참조하고 싶었습니다. if 문에서 어떻게하나요? (대신 $0)

sha256sum abc.txt | awk '{print $1}' | if [ "$0" = "8237491082roieuwr0r9812734iur" ]; then
    echo "match"
fi
찰스 더피

좁은 요청에 따라 다음과 같이 보입니다.

sha256sum abc.txt  |
  awk '{print $1}' |
  if [ "$(cat)" = "8237491082roieuwr0r9812734iur" ]; then echo "match"; fi

... cat인수없이 명령의 stdin을 읽고 파이프 라인에서 이전 단계에서 생성 된 콘텐츠가 후속 단계로 스트리밍됩니다.

번갈아:

sha256sum abc.txt  |
  awk '{print $1}' |
  if read -r line && [ "$line" = "8237491082roieuwr0r9812734iur" ]; then echo "match"; fi

... 여기서 우리 read는 stdin에서 cat. (대신 stdin에 주어진 모든 줄을 반복하려면 BashFAQ # 1 참조 ).


그러나 대신 다음과 같이 작성하는 것이 좋습니다.

if [ "$(sha256sum abc.txt | awk '{print $1}')" = "8237491082roieuwr0r9812734iur" ]; then
  echo "match"
fi

... 이는 당신 때문에 무엇보다도, 파이프 라인 밖에서 논리를 유지 if문은 변수를 설정할 수 있습니다 유지 파이프 라인 종료 후 설정을. 파이프 라인에서 코드 실행에 내재 된 문제에 대한 자세한 내용 BashFAQ # 24 를 참조하십시오.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

한 명령의 출력을 다른 명령으로 파이프하는 문제

분류에서Dev

한 명령의 출력을 다른 명령으로 파이프하는 문제

분류에서Dev

이전 명령의 출력을 다음 명령으로 전달

분류에서Dev

Bash : 한 명령의 출력을 다른 명령에 사용

분류에서Dev

bash 명령 출력의 하위 문자열을 다른 명령의 반환 값으로 대체 (예 : 타임 스탬프를 날짜로 변경)

분류에서Dev

한 명령의 출력을 다른 명령에 대한 bash 완성으로 사용하는 방법

분류에서Dev

한 명령의 쉘 출력을 다른 명령에 대한 입력으로

분류에서Dev

예상 스크립트에서 "ps"명령의 출력을 제대로 가져올 수 없습니다.

분류에서Dev

bash에서 한 명령의 출력을 한 줄씩 다른 명령에 공급

분류에서Dev

한 명령의 출력을 다른 두 명령으로 파이프

분류에서Dev

출력을 stdout으로 파이프 한 다음 명령 한 다음 변수로 파이프합니다.

분류에서Dev

Bash는 모든 명령에 대해 이상한 환경 줄을 출력하고 명령을 에코합니다.

분류에서Dev

명령의 출력을 grep으로 파이핑 한 다음 다른 명령으로 파이핑

분류에서Dev

명령의 출력을 대화 상자에 파이프하고 위로 스크롤 할 수 있습니다.

분류에서Dev

한 명령의 출력을 다른 명령으로 전달

분류에서Dev

bash 명령의 출력을 캡처하여 구문 분석하고 다른 bash 변수에 저장

분류에서Dev

한 명령의 출력을 사용하고 다음 명령에 대한 입력으로 사용하여 명령 실행

분류에서Dev

한 명령의 출력을 다른 명령의 비표준 입력으로 파이프

분류에서Dev

Bash-Bash의 명령 출력을 기반으로 파일에 데이터를 써야합니다.

분류에서Dev

Bash : 프로그래밍 방식으로 (예 : 변수에서) 명령의 완료 출력 가져 오기

분류에서Dev

여러 명령의 출력을 연결하고 다른 명령에 대한 입력으로 사용

분류에서Dev

단일 명령이 파이프 라인을 구성 할 수 있으므로 bash의 간단한 명령이 서브 쉘에서 실행됩니까?

분류에서Dev

명령의 출력을 한 줄로 다른 사람에게 전달

분류에서Dev

한 명령에서 다음 명령으로 인수 전달

분류에서Dev

한 명령의 출력을 다른 명령의 입력으로 전달

분류에서Dev

출력에 문자가 있으면 bash 명령을 실행하고 출력이 비어 있으면 다른 명령을 실행해야합니다.

분류에서Dev

파일에는 각 명령에 변수의 문자열로 대체해야하는 문자열이있는 명령 목록이 있습니다.

분류에서Dev

awk의 print / printf 출력을 쉘 명령으로 파이핑하면 관련없는 다른 모든 print / printf 문 다음에 해당 문이 실행됩니다.

분류에서Dev

Linux는 출력이 파일에 저장되기 전에 명령 출력에 문자열을 추가합니다.

Related 관련 기사

  1. 1

    한 명령의 출력을 다른 명령으로 파이프하는 문제

  2. 2

    한 명령의 출력을 다른 명령으로 파이프하는 문제

  3. 3

    이전 명령의 출력을 다음 명령으로 전달

  4. 4

    Bash : 한 명령의 출력을 다른 명령에 사용

  5. 5

    bash 명령 출력의 하위 문자열을 다른 명령의 반환 값으로 대체 (예 : 타임 스탬프를 날짜로 변경)

  6. 6

    한 명령의 출력을 다른 명령에 대한 bash 완성으로 사용하는 방법

  7. 7

    한 명령의 쉘 출력을 다른 명령에 대한 입력으로

  8. 8

    예상 스크립트에서 "ps"명령의 출력을 제대로 가져올 수 없습니다.

  9. 9

    bash에서 한 명령의 출력을 한 줄씩 다른 명령에 공급

  10. 10

    한 명령의 출력을 다른 두 명령으로 파이프

  11. 11

    출력을 stdout으로 파이프 한 다음 명령 한 다음 변수로 파이프합니다.

  12. 12

    Bash는 모든 명령에 대해 이상한 환경 줄을 출력하고 명령을 에코합니다.

  13. 13

    명령의 출력을 grep으로 파이핑 한 다음 다른 명령으로 파이핑

  14. 14

    명령의 출력을 대화 상자에 파이프하고 위로 스크롤 할 수 있습니다.

  15. 15

    한 명령의 출력을 다른 명령으로 전달

  16. 16

    bash 명령의 출력을 캡처하여 구문 분석하고 다른 bash 변수에 저장

  17. 17

    한 명령의 출력을 사용하고 다음 명령에 대한 입력으로 사용하여 명령 실행

  18. 18

    한 명령의 출력을 다른 명령의 비표준 입력으로 파이프

  19. 19

    Bash-Bash의 명령 출력을 기반으로 파일에 데이터를 써야합니다.

  20. 20

    Bash : 프로그래밍 방식으로 (예 : 변수에서) 명령의 완료 출력 가져 오기

  21. 21

    여러 명령의 출력을 연결하고 다른 명령에 대한 입력으로 사용

  22. 22

    단일 명령이 파이프 라인을 구성 할 수 있으므로 bash의 간단한 명령이 서브 쉘에서 실행됩니까?

  23. 23

    명령의 출력을 한 줄로 다른 사람에게 전달

  24. 24

    한 명령에서 다음 명령으로 인수 전달

  25. 25

    한 명령의 출력을 다른 명령의 입력으로 전달

  26. 26

    출력에 문자가 있으면 bash 명령을 실행하고 출력이 비어 있으면 다른 명령을 실행해야합니다.

  27. 27

    파일에는 각 명령에 변수의 문자열로 대체해야하는 문자열이있는 명령 목록이 있습니다.

  28. 28

    awk의 print / printf 출력을 쉘 명령으로 파이핑하면 관련없는 다른 모든 print / printf 문 다음에 해당 문이 실행됩니다.

  29. 29

    Linux는 출력이 파일에 저장되기 전에 명령 출력에 문자열을 추가합니다.

뜨겁다태그

보관