제어 할 수없는 다른 스크립트를 실행하기 위해 기본 bash 스크립트를 만들었습니다.터미널 라인 배시 스크립트 읽기
이 두 번째 스크립트는 나머지 스크립트에 입력으로 사용하려는 오류 코드와 같은 터미널 텍스트를 출력합니다. 나는 bash 스크립트로 코딩하기가 매우 어렵다. 터미널에 방금 출력 된 내용을 읽어 들이고 내부 변수와 동등하게 설정하는 내장 함수가 있습니까?
제어 할 수없는 다른 스크립트를 실행하기 위해 기본 bash 스크립트를 만들었습니다.터미널 라인 배시 스크립트 읽기
이 두 번째 스크립트는 나머지 스크립트에 입력으로 사용하려는 오류 코드와 같은 터미널 텍스트를 출력합니다. 나는 bash 스크립트로 코딩하기가 매우 어렵다. 터미널에 방금 출력 된 내용을 읽어 들이고 내부 변수와 동등하게 설정하는 내장 함수가 있습니까?
'|' 두 번째 스크립트의 입력으로 첫 번째 스크립트의 출력을 얻지 만 더 이상 터미널에 표시되지 않습니다.
또 다른 옵션은 'tee'일 수 있습니다.이 옵션을 사용하면 나머지 스크립트에 대한 입력으로도 줄 수 있지만 여전히 터미널에 나타나게 할 수 있습니다.
당신은 다른 스크립트 라인 단위의 출력을 읽고 싶다면, 당신은
/path/to/other/script.sh 2>&1 | while IFS= read -r line; do
do_something_with "$line"
# ...
done
여기 bash에 대한 좋은 정보를 많이있다 할 수 있습니다 : 당신은 요구하고 https://stackoverflow.com/tags/bash/info
을 약 command substitution 인 Bash의 구문 및 명령 파이프 라인의 표준 출력을 캡처 할 수있는 다른 셸 언어
예를 들어이 값은 date
의 출력을 캡처 한 다음 큰 문자열의 일부로 출력합니다.
the_date=$(date)
echo "The current date is ${the_date}. What a time to be alive!"
당신은 변수 할당을 건너 뛰고 바로 문자열의 명령 치환을 넣을 수 :
echo "The current date is $(date). What a time to be alive!"
당신이 파이프를'사용할 수 |에 입력으로 다른 스크립트의 출력을 리디렉션' 너의 대본? 오류 Z 드는 STDOUT 대신 STDERR의 일부일 수 있습니다. – beroe
'myVar = $ (/ path/to/other/script.sh 2> &1); echo "$ myVar"는 시작할 수있는 한 곳입니다. 행운을 빌어 요. – shellter
myVar이 트릭을 만들었습니다! – user8983691