質問: お世話になります。 LinuxのCronであるBASHスクリプトに引数を渡して定期実行したいと考えています。 ``` */1 * * * * /xxx/test.sh `引数1 引数2 引数3` > test.log ``` このように記載したのですが、test.shでは引数が1つとして認識されてしまいます。 直接実行した場合は問題が無いのですが、回避策などはありますでしょうか。 よろしくお願いします。
回答: 引数1 引数2 引数3をまとめてバッククォートで囲っていますが、書き間違いですか? バッククォートで囲うと、 > > "引数1" という名前のコマンドを"引数2"と"引数3"を引数として実行して、そのコマンドの出力をtest.shの引数として使う > > > という意味になりますけど、多分意図通りではないですよね? 「test.shに、引数1,2,3を3つの引数として渡す」というのがしたいことであれば、 ``` */1 * * * * /xxx/test.sh 引数1 引数2 引数3 > test.log ``` として下さい。 何故バッククォートで囲いたいと思ったのでしょうか?そのあたりを掘り下げないとまた同じ間違いをします。