Linux 명령의 출력을 변수에 할당하는 방법
명령을 실행하면 일종의 출력이 생성됩니다. 프로그램의 결과가 프로그램 실행 세부 사항의 상태/오류 메시지를 생성한다고 가정합니다. 경우에 따라 나중에 작업에 사용할 변수에 명령 출력을 저장할 수 있습니다.
이 포스트에서 우리는 쉘 명령의 출력을 변수에 할당하는 다양한 방법을 검토 할 것입니다. 특히 쉘 스크립팅 목적에 유용합니다.
명령의 출력을 변수에 저장하려면 아래 형식으로 셸 명령 대체 기능을 사용할 수 있습니다.
variable_name=$(command) variable_name=$(command [option ...] arg1 arg2 ...) OR variable_name='command' variable_name='command [option ...] arg1 arg2 ...'
다음은 명령 대체를 사용하는 몇 가지 예입니다.
이 첫 번째 예에서는 CURRENT_USERS
user 변수에 who
(누가 시스템에 로그온했는지 표시) 명령의 값을 저장합니다.
$ CURRENT_USERS=$(who)
그런 다음 다음과 같이 echo 명령을 사용하여 표시된 문장에서 변수를 사용할 수 있습니다.
$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
위의 명령에서 : 플래그 -e
는 사용 된 모든 이스케이프 시퀀스 (예 : 줄 바꿈의 경우 \\ n
)를 해석 함을 의미합니다. 시간과 메모리 낭비를 방지하려면 다음과 같이 echo 명령 내에서 명령 대체를 수행하십시오.
$ echo -e "The following users are logged on the system:\n\n $(who)"

다음으로 두 번째 양식을 사용하여 개념을 설명합니다. 현재 작업 디렉터리의 총 파일 수를 FILES
라는 변수에 저장하고 나중에 다음과 같이 에코 할 수 있습니다.
$ FILES=`sudo find . -type f -print | wc -l` $ echo "There are $FILES in the current working directory."

지금까지이 기사에서는 쉘 명령의 출력을 변수에 할당하는 방법을 설명했습니다. 아래 피드백 섹션을 통해이 게시물에 대한 의견을 추가 할 수 있습니다.