1
(nオプションの)比較演算子(例えば、~>
)、スペース、およびバージョン番号(例:~>
)からなる意味的バージョン管理制約を含む文字列から配列を作成しようとしています。 1.0.0)。私はこの文字列から、比較演算子を含む要素[0]と、バージョンを含む要素[1](または、比較演算子がない場合、要素[0 ])。入力文字列が~> 1.0.0
あるメタ文字を含む変数のBash配列
望ましい結果、:
$ echo ${array[@]}
~> 1.0.0
$ echo ${array[0]}
~>
$ echo ${array[1]}
1.0.0
しかし、私は配列を作成する問題を抱えている、比較演算子は(私の例から、例えば>
)メタ文字を含めることができますので。
これは一般的なやり方です。 これは動作します:
$ array=(== 1.0.0)
$ echo ${array[@]}
== 1.0.0
$ echo ${array[0]}
==
$ echo ${array[1]}
1.0.0
しかし、これらは動作しません:
$ array=(~> 1.0.0)
-bash: syntax error near unexpected token `>'
$ array=("~> 1.0.0")
$ echo ${array[@]}
~> 1.0.0
$ echo ${array[0]}
~> 1.0.0
$ echo ${array[1]}
は、私は、次のでしょう仕事は、私は残念ながら比較を引用する私の入力文字列を変更することはできませんことを知っていますオペレータ:
$ array=("~>" 1.0.0)
$ echo ${array[@]}
~> 1.0.0
$ echo ${array[0]}
~>
$ echo ${array[1]}
1.0.0
私はこの入力文字列から、それを変更せずに配列を作成しますか?