
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 bash
beispielsweise 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.
bash
Um 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
.