Ich habe diese Zeile:
echo $(date '+%Y %b %d %H:%m') Your output $HOSTNAME
Wenn ich es manuell über die Befehlszeile mache, kann ich meinen $HOSTNAME problemlos sehen.
Wenn es jedoch von einem Skript ausgeführt wird, das von einem Cron-Job (Root) ausgeführt wird, ist $HOSTNAME immer leer.
Wie kann das behoben werden?
Antwort1
$HOSTNAME
wird von einigen Shells (wie Bash) gesetzt, es ist keine Umgebungsvariable
Richten Sie Ihr Shell-Skript so ein, dass es unter Bash ausgeführt wird (fügen Sie es #!/bin/bash
als erste Zeile anstelle von ein #!/bin/sh
) und versuchen Sie es erneut