Ich lerne Bash aus einem Buch und wollte nur sehen, ob es eine effizientere Möglichkeit gibt, dies zu tun.
Code: Select all
GPP0 S4 *disabled pci:0000:00:01.1
Ich kann also für diese Zeile ohne
Problem grep grep, aber ich brauche den Wert nur unter der Spalte , dh nur wissen, ob sein Wert aktiviert ist oder deaktiviert . Wenn der Benutzer versucht, das System auszusetzen, und der Status auf deaktiviert ist, sollte es weitergehen und ausgesetzt werden. Andernfalls sollte der Status aktiviert ist, er sollte ihn zunächst deaktivieren, bevor das System suspendiert wird.
Code: Select all
cat /proc/acpi/wakeup | grep GPP0 | cut -d "*" -f 2 | cut -d " " -f 1 # 'disabled'
< /code>
Zweite Beurteilung (mit awk): < /p>
cat /proc/acpi/wakeup | grep GPP0 | awk '{print $3}' | cut -d "*" -f 2
< /code>
dritter Ansatz: < /p>
cat /proc/acpi/wakeup | grep GPP0 | awk '{if ($3 == "*disabled") print "Already disabled"; else print "DISABLE IT"}'
Ich nehme mich dem dritten Ansatz an, aber ich habe mich gefragt, ob es eine Standardmethode gibt, um den Wert aus der Spalte zu holen. Beispielsweise mit GPP0 als "Schlüssel" und aktiviert oder deaktiviert wäre der "Wert". Lass es mich wissen.