Bashスクリプトのコマンドライン引数は認識されません。

Bashスクリプトのコマンドライン引数は認識されません。

私はDebian(Raspbian)Wheezyを使います。このコマンドラインが正しく機能している場合:

smsd -c sms/out -i 60 -0 -f sms/smsd.log

このエイリアスもうまく機能します。

bsmsd='smsd -c sms/out -i 60 -0 -f sms/smsd.log'

それでは、実行可能なbashスクリプトの同じコマンドラインがコマンドを実行しますsmsdが、私が指定した引数が表示されないのはなぜですか?スクリプトは次のとおりです。

#!/bin/bash

smsd -c sms/out -f /home/pi/sms/smsd.log -i 60 -0 -v

リダイレクトしてパイピングしようとしましたが、何の役にも立ちません。

次のようにコマンドラインからスクリプト(ssmsdと呼ばれる)を呼び出します。

./ssmsd

その後の出力は次のとおりですps -fC smsd

UID        PID  PPID  C STIME TTY          TIME CMD

編集:スプールディレクトリが指定されていないことを知らせるため、パラメータが認識されないことがわかります。しかし、私はした-c sms/out。スクリプトから呼び出されると、バージョン番号と作成者を指定して終了します。

おそらく、以下を追加する必要があるようです。自分に電話してくださいデーモンだがデーモンではない。良いパフォーマンス悪魔。それはできず、smsd start|stop|restartバックグラウンドで実行されません。したがって、コマンドラインから呼び出すか、別名を使用して別の端末を起動して実行すると、次の結果が表示さps -fC smsdれます。

UID        PID  PPID  C STIME TTY          TIME CMD
pi        2860  2621  0 17:49 pts/0    00:00:00 smsd -c xxxxxxx -i 60 -0 -f sms/smsd.log

ベストアンサー1

同じパラメータを使用しないことはむしろ明らかです。

これがスクリプトバージョンで指定されているとおりに指定されている場合は、指示に従ってgnokii-smsdバージョン-vを印刷して終了する必要があります。

なぜ試してみませんか?精密シェルモードのパラメータはスクリプトモードのパラメータと同じですか?

おすすめ記事