2016-08-26 1 views
-2

私はbashスクリプトを書いていますが、私がやっていることは変数を割り当てていてもスクリプトが失敗しています。私のスクリプトで可変減速だけのシェルスクリプトでコマンドが見つかりません

私は次のように宣言しています。プログラムを実行しようとした後

pcre-version="8.39" 

を私はこのエラーを取得する:

-bash: pcre-version=8.39: command not found 

は私が間違って何をしているのですか?

+3

これは奇妙なエラーです。 'httpd-version = 2.4.23:コマンドが見つかりません '、' apr-version-var = 1.5.2:コマンドが見つかりません'などの5つのエラーが発生すると思います。 pcre-version。あるいは、何が起こっているのか正確には説明していないかもしれません。 –

+0

最後に私は単一のコマンド 'pcre-version =" 8.39 "を入力するだけでエラーが出ていたことを意味していました。 – johnramsden

答えて

5

-はchepnerが指摘したように、元の文字列にはIFS文字はありません、それはpcre-version="8.39" のように解析されています

代わり

_を使用してみてください、変数名の有効な部分ではありませんそれは単語分割の対象にはならないでしょう。すべてのものは(一般的には少なくとも)有効なファイルシステムの文字であるので、コマンド名として扱われ、それゆえエラーメッセージ

この

語るthis related question on U&Lを参照してください見つけられそうされていない、PATHで検索ですそしてそれは "ゴッチャ"だhere

+1

1つのニート: 'pcre-version = 8.39'は単一の単語として解析されます。 – chepner

+0

これは狂っていますが、私はこのことを知らずにどのようにbashを使っていますか? – johnramsden

関連する問題