2016-07-07 7 views
2

をsedの私はジェンキンスでシェルを実行している:私は何をしようとしているジェンキンス環境変数が

export MYVAR 
MYVAR=echo $JiraReleaseNotes | sed 's/\[/<br>\[/g' 
echo MYVAR=$MYVAR >> ./AndroidStable/App/config.properties 

$JiraReleaseNotesで「[br>」を持つすべての「[」の値を交換し、MYVARにそれらを設定し、コピーであります内容はconfig.propertiesファイルになります。

しかし、私は2行目のエラーが出る:Relase$JiraReleaseNotesの最初の単語である

Relase: command not found 

、それがコマンドであると考える理由を?

+2

コマンドを実行したい場合は、 'VAR = $(コマンド)'を使用する必要があります。現在は 'MYVAR = echo Relase ...'と言っていますので、変数 'MYVAR'を' echo'に設定してコマンド 'Relase'を実行しようとしています。これについては、[Bashスクリプトの変数宣言 - コマンドが見つかりません](http://stackoverflow.com/a/2268117/1983854)を参照してください。 – fedorqui

+0

[Bashスクリプト変数宣言 - コマンドが見つかりません]の重複している可能性があります(http://stackoverflow.com/questions/2268104/bash-script-variable-declaration-command-not-found) – BitwiseMan

答えて

0

説明:

あなたはそれを変数に割り当てることができる前に、最初の括弧内に目的のコマンドecho $JiraReleaseNotes | sed 's/\[/<br>\[/g'を実行する必要があります。以前Fedorquiによってコメントで述べたように、この場合results_of_this_command又はecho $JiraReleaseNotes | sed 's/\[/<br>\[/g'におけるよう

MYVAR=$(results_of_this_command) 

ようになり、その後MYVAR可変

ことに割り当てられることの結果で、最初に実行されますCODE:

MYVAR=$(echo $JiraReleaseNotes | sed 's/\[/<br>\[/g') 
echo "MYVAR=$MYVAR" >> ./AndroidStable/App/config.properties