명령 출력을 변수에 어떻게 할당합니까?


19

변수에 값을 할당하는 방법이 있습니까? 명령을 작성하여 터미널에서 얻는 값입니까?

명령 예 : sensors

그로부터 우리는 CPU 온도를 얻습니다. 이 값을 temp_cpu변수에 어떻게 할당 할 수 있습니까?


1
이 질문은 슈퍼 유저유닉스와 리눅스에 더 적합합니다 . 시도하십시오 temp_cpu=$(sensors)(그렇지만 개행은 공백으로 바뀔 것입니다). grep필요한 특정 정보를 필터링하는데도 사용할 수 있습니다 .
edwin

1
@edwin 왜 질문이이 장소에 적합하지 않습니까?
tshepang

@ Tshepang,이 질문은 우분투에만 국한된 것이 아니라 유닉스와 같은 쉘에 관한 것입니다. 따라서 Unix & Linux 입니다.
edwin

1
정책 / 일반 의견이 변경 되었습니까? 이 사이트는 우분투에만 국한되지 않는 질문을 환영한다고 생각했습니다.
tshepang

답변:


27

예,을 사용 my_var=$(some_command)합니다. 예를 들면 다음과 같습니다.

$ foo=$(date)
$ echo $foo
Mon Jul 22 18:10:24 CLT 2013

또는 특정 예를 들어, 사용 sed하고 grep원하는 특정 데이터에서 얻을 :

$ cpu_temp=$(sensors acpitz-virtual-0 | grep '^temp1:' | sed 's/^temp1: *//;s/ .*//')
$ echo $cpu_temp
+39.0°C
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.