개발관련/other

Bash에서 명령의 출력에 변수를 설정하는 방법

Rateye 2021. 12. 29. 10:52
728x90
반응형
질문 : Bash에서 명령의 출력에 변수를 어떻게 설정합니까?

다음과 같은 매우 간단한 스크립트가 있습니다.

#!/bin/bash

VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF

명령 줄에서이 스크립트를 실행하고 인수를 전달할 때 출력이 표시되지 않습니다. $MOREF 변수에 포함 된 명령을 실행하면 출력을 얻을 수 있습니다.

스크립트 내에서 실행해야하는 명령의 결과를 가져 와서 변수에 저장 한 다음 해당 변수를 화면에 출력하려면 어떻게해야합니까?

답변

백틱 `command` $(command) 또는 "$(command)" 하여 명령 대체 를 수행 할 수 있습니다.이 방법은 읽기 쉽고 중첩이 가능합니다.

OUTPUT=$(ls -1)
echo "${OUTPUT}"

MULTILINE=$(ls \
   -1)
echo "${MULTILINE}"

인용 부호 ( " )는 여러 줄의 변수 값 을 유지하는 데 중요 합니다. 단어 분할이 수행되지 않으므로 할당의 오른쪽에서 선택 사항이므로 OUTPUT=$(ls -1) 이 제대로 작동합니다.

출처 : https://stackoverflow.com/questions/4651437/how-do-i-set-a-variable-to-the-output-of-a-command-in-bash
728x90
반응형