So ändern Sie die Standard-Shell des at-Befehls

So ändern Sie die Standard-Shell des at-Befehls

wenn ich die Ausführung eines Programms mit verzögern möchte at, es präzisiert mir, dass

warning: commands will be executed using /bin/sh

Wie ändere ich diese Standard-Shell bashbeispielsweise in ?

Antwort1

Bitte beachten SieDasFrage, die auf dem Unix & Linux Stack Exchange gepostet wurde. Der erste Satz lautet:

Unter Linux warnt at immer, dass die angegebenen Befehle mit /bin/sh und nicht mit Ihrer bevorzugten Shell ausgeführt werden. Sie können diese Meldung nicht unterdrücken, sie ist im Quellcode fest codiert.

Außerdem wird ein Workaround vorgeschlagen:

Der von Ihnen übergebene Befehl wird von /bin/sh interpretiert. Dieser Befehl kann der Pfad zu einem Skript sein, wenn Sie möchten. Anschließend führt /bin/sh das Skriptprogramm aus, wodurch der Interpreter des Skripts gestartet wird und das Skript interpretiert. Die Sprache des Skripts ist völlig unabhängig von dem Programm, das es startet. Wenn Sie also beispielsweise ein Bash-Skript ausführen möchten (also ein Skript, das mit #!/bin/bash beginnt), übergeben Sie einfach den Pfad zum Skript an at und ignorieren Sie die irrelevante Meldung.

bashUm Ihre Befehle mit statt auszuführen sh, können Sie ein Skript an übergeben at. Solange das Skript eine Shebang-Zeile hat, wird es von dem Programm ausgeführt, auf das die Shebang-Zeile verweist. Wenn Sie verwenden #!/bin/bash, wird es von ausgeführt bash.

verwandte Informationen