コードを書き直す際にこのエラーが発生しました。変数で競合するgrepとwget
#XML downloading
wget -q http://192.168.50.154/details.xml -O details.xml
#load XML in Variable
rohxml=details.xml
#Read Data and save to Variable
health=$(grep '<Health' $rohxml | cut -f2 -d">"|cut -f1 -d"<")
しかし、私は(私は新しいサーバーで新しいファイルを保存することができないため)変数に直接それを保存しようとすると、それは私に次のエラーがスローされます。予想通り
このコードは動作します:
grep: invalid option -- 'O' Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information.
これは、 "新しい" コードです:
#load XML in Variable
ABFRAGE="'wget -q -O- http://192.168.50.154/details.xml'"
rohxml=$ABFRAGE
#Read Data and save to Variable
health=$(grep '<Health' $rohxml | cut -f2 -d">"|cut -f1 -d"<")
:私はあなたが必要とするすべてであるあなたは、あなたがそれ以外の場合は掲載コードを越えた変数
rohxml
とhealth
のためのいくつかの使用を持っていると仮定していますコマンドの出力を変数に保存するのではなく、grepコマンドラインを使用します。それをしないでください。それは機能のためのものです。書かれているように、ワイルドカード展開、グロブ、単語分割などのためにコマンドをシェルに公開しているときなど、特定のディレクトリなどから実行すると厄介な驚きにさらされます。 –"SOLVED"をタイトル。あなたの質問が答えられたことを示すには、答えを受け入れます(通常、あなたも同様にそれをupvoteしたいでしょう)。既存の回答で問題が解決しなかった場合は、自分で投稿して回答を受け入れることができます。 –