0

スペースを含むタグを呼び出す bash のテスト SVN スクリプトがあります。これは変数に格納されます。下記参照、

#!/bin/bash


grepper="trunk-index FOR in footer"

a=`svn ls -v file:///var/tags/folderrepo | grep $\"grepper\" | awk '{print $1}'`
echo $a
echo $grepper

echo $a は FOR のようなディレクトリやフッターを提供しません echo $grepper は変数 grepper の内容を提供します

コマンド ラインでは、引用符を使用してタグを呼び出すことができます。

[user@test scripts]# svn ls -v file:///var/tags/folderrepo | grep "trunk-index FOR in footer"
131  ?                    Jul 29 16:21 trunk-index FOR in footer/

ただし、スクリプトに引用符を付けても、同じものを呼び出すことはできません。スペースを含むタグをbashスクリプトから呼び出すことができるように、grepに何を配置する必要がありますか。

ありがとう!

4

1 に答える 1

0

grep は、シェル変数を渡していることを認識しません。シェルは、要求されたプログラムを起動する前に変数を展開/置換します。そのため、grepは次のように呼び出されていると考えています

... | grep trunk-index FOR in footer | ...

trunk-index存在しないファイルFORin、および でフレーズを検索することになりfooterます。

試す

 ... | grep '$grepper' | ...

代わりは。

于 2013-07-29T18:00:54.183 に答える