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
반응형
'개발관련 > other' 카테고리의 다른 글
Scala vs Groovy vs Clojure (0) | 2022.01.06 |
---|---|
React / React Native에서 constructor와 getInitialState를 사용하는 것의 차이점 (0) | 2021.12.29 |
branch가 3 commits만큼 'origin/master'보다 앞서 있을 때 (0) | 2021.12.25 |
테이블 또는 열에 대한 모든 외래 키를 보는 방법 (0) | 2021.12.19 |
C# 컴파일 된 실행 파일에 DLL을 포함하는 방법 (0) | 2021.12.19 |