同じフォルダに別のスクリプトを呼び出すbashスクリプトを作成しました。私はそれが正常に働いていたと思ったが、私は他の理由のためのスクリプトをデバッグするために持っていたし、私はそれが2番目のスクリプトを追加していなかったが分かっただけで、メインスクリプトでbashに別のスクリプトを追加できません
#awk '{print $2}' >> /tmp/lista_pacotes.log adiciona resultado ao arquivo /tmp/tmp_pacotes_adicionados.log
echo "\nPacotes adicionados até" $(date) "\n" >> /tmp/tmp_pacotes_adicionados.log
cat /tmp/diferencas.log >> /tmp/tmp_pacotes_adicionados.log
./email_pacotes.sh
#adiciona resultados anteriores
cat /tmp/pacotes_adicionados.log >> /tmp/tmp_pacotes_adicionados.log
を./email_pacotes.sh
を置くことによって、これをやっています初めてメインスクリプトを実行します。
私は、次のようなメッセージを得ていた。
[...]
./email_pacotes.sh: 17: ./email_pacotes.sh: [[: not found
./email_pacotes.sh: 17: ./email_pacotes.sh: [[: not found
./email_pacotes.sh: 17: ./email_pacotes.sh: [[: not found
./email_pacotes.sh: 17: ./email_pacotes.sh: [[: not found
./email_pacotes.sh: 17: ./email_pacotes.sh: [[: not found
[...]
私は、スクリプト私は、フォルダに入れて初めて実行したときにこれが起こります。私がもう一度それを実行すると、メッセージはもはや表示されないので、私はそれが構文の問題ではないと推測します。私もパーミッションのあるものだと思っていましたが、両方のスクリプトを0777に変更してもメッセージはそのままです。
これは正常な動作ですか?これを引き起こす原因は何ですか?
Obs1:-xオプションを使用してメインスクリプトをデバッグしています。
Obs2:もう一度テストを行いました。それは同じメッセージを投げつけ続けますが、ある時点で最終的にスクリプトを呼び出します。だから、たぶん、ファイルを見つけたり、例外をスローする時間ですか?
条件付きで最初に実行されない構文がありますか?あなたがスクリプトの関連部分を投稿していないかどうかは言うことができません。 –
@martinclaytonスクリプトは本当に大きいですが、全く条件がありません。このコマンドは、何にもまったく関係ありません。 – EGS
潜在的な回答者が文脈で少なくとも17行目を見ることができるように、行12-22と投稿を抽出することを提案します。 –