
を使ってプログラムの実行を遅らせたいときat
、
warning: commands will be executed using /bin/sh
このデフォルトのシェルを、bash
たとえば に変更するにはどうすればよいでしょうか?
答え1
参照してくださいこれUnix & Linux Stack Exchange に投稿された質問です。最初の文はこうです:
Linux では、at は、指定されたコマンドをお気に入りのシェルではなく /bin/sh で実行することを常に警告します。このメッセージはソース コードにハードコードされているため、抑制することはできません。
回避策も提案されています:
渡したコマンドは /bin/sh によって解釈されます。このコマンドは、必要に応じてスクリプトへのパスにすることができます。その場合、/bin/sh はスクリプト プログラムを実行し、スクリプトのインタープリタを起動してスクリプトを解釈します。スクリプトの言語は、スクリプトを起動するプログラムから完全に独立しています。したがって、たとえば bash スクリプト (つまり、#!/bin/bash で始まるスクリプト) を実行したい場合は、スクリプトへのパスを at に渡すだけで、無関係なメッセージは無視します。
bash
したがって、の代わりにを使用してコマンドを実行するにはsh
、 にスクリプトを渡すことができますat
。スクリプトにシェバン行がある限り、そのシェバンが指しているプログラムによってスクリプトが実行されます。 を使用すると#!/bin/bash
、 によって実行されますbash
。