Wenn ich einer Variable einen Befehl zuordne, erhalte ich als Antwort die Fehlermeldung „Befehl nicht gefunden“. Unten sehen Sie den Befehl im Skript.
#!/bin/bash
fs=$(ps -C "daemon_name" > /dev/null && echo "Running" || echo "Not Running")
$fs
Ausgabe:
./test.sh: Line 5: Running: command not found
Antwort1
ps
ist das Finden des gesuchten Prozesses, wodurch Ihre fs
Variable auf gesetzt wird Running
. Wenn Sie aufrufen, $fs
versuchen Sie im Wesentlichen nur auszuführen Running
. Da auf Ihrem System kein benannter Befehl vorhanden ist, Running
erhalten Sie die Meldung „Befehl nicht gefunden“. Ich nehme an, Sie möchten echo
oder printf
das Ergebnis?
printf '%s\n' "$fs"