ฉันจะกำหนดเอาต์พุตของคำสั่งให้กับตัวแปรได้อย่างไร?


19

มีวิธีการกำหนดค่าให้กับตัวแปรค่าที่เราได้รับใน terminal โดยการเขียนคำสั่งใด ๆ

คำสั่งตัวอย่าง: sensors

จากนั้นเราจะได้อุณหภูมิของ CPU ฉันจะกำหนดค่านี้ให้กับtemp_cpuตัวแปรได้อย่างไร?


1
คำถามนี้มีความเหมาะสมมากขึ้นเพื่อSuper UserหรือUnix และ Linux ลองtemp_cpu=$(sensors)(สิ่งนี้จะเปลี่ยนบรรทัดใหม่เป็นช่องว่าง) คุณสามารถใช้grepเพื่อกรองข้อมูลเฉพาะที่คุณต้องการได้เช่นกัน
edwin

1
@edwin ทำไมคำถามไม่เหมาะสำหรับสถานที่นี้
tshepang

@Tshepang คำถามนี้ไม่ได้เฉพาะเจาะจงกับอูบุนตูก็เพียงเกี่ยวกับระบบปฏิบัติการยูนิกซ์เหมือนเปลือก ดังนั้นUnix และ Linux
edwin

1
นโยบาย / ความคิดเห็นทั่วไปเปลี่ยนไปหรือไม่? ฉันคิดว่าไซต์นี้ยินดีตอบคำถามที่ไม่เฉพาะเจาะจงกับ Ubuntu
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.