私たちは、あなたがいずれかを設定しているのか分かりません変数値のうち、(jmsProcess、boneProcess)。
「$ var」(dbl-quotes)などのすべてのvar値を囲み、エラーメッセージが変更されるかどうかを確認してください。
また、上に表示されているコードには多くの構文の問題があります。ここに投稿する人工物であるかどうかは分かりません(コードブロックの機能はかなり堅牢です)ので、間違っているとコメントするつもりです。
if[ [ false || false ] == true ]: command not found
問題の多くはここにありますfalse
は、シェルコマンドです。コマンドラインで入力してから、echo $?
を実行してください。 1
が表示されます。 true; echo $?
は0を返します。しかし、if文は、最後の戻りコードに基づいてelseブロックに続行するか、またはfall-overします(いくつかの特別な例外もあります)。
また、あなたは[ false || false ] == true
でいくつかの種類の登録をしようとしていると思います。動作しません。下記参照。
ステータス変数は、シェルによって正しく評価されるfalse
(またはtrue
)の値に設定できます。
また、if[
は 'コマンドが見つかりません' msgを返します。だから、偽の値を持つVARSを使用することにより、あなたは
メッセージの変更を参照するにはfalse
へ
jmsRunning=false ; boneRunning=true
if [[ ${jmsRunning} || ${boneRunning} ]] ; then
echo both NOT running
else
echo at least 1 is running
fi
変更の両方を試してみてくださいを行うことができます。
また、nullはシェルスクリプト内の単なる文字列であり、おそらく ""を意味します。
最後に、var割り当てに '='記号を囲むスペースを使用することはできません。また、 '$'文字は、文の左側にあるときに前面に '$'文字を使用しないでください。
boneRunning=true
これが役立つことを願っています。
これは(実行していない)シェルスクリプトですか? – KevinDTimm