2016-10-07 19 views
0

CentOS 7用のスクリプトを作成していますが、私が働いていた他のディストリビューションとは異なり、変数に基づいて値を連結するのには苦労しています。例えば、以下のコードで:CentOS 7のスクリプトで変数の連結

DIR_BKP=/tmp/_bkp_local 
PATH_LOG=$DIR_BKP/logs 
echo $PATH_LOG 

私が実行したときに、プリント

/logs_bkp_local 

あなたが見ることができるように、エコーリターンが新しい値で重複変数の初期値との間の混合。

私は

PATH_LOG="$DIR_BKP/logs" 
PATH_LOG=${DIR_BKP}/logs 

すべてが同じことを印刷しようとしました。

CentOSでこの簡単な作業を行うにはどうすればよいですか?

+0

プット私にとっては予想通り、私はあなたが自分自身での$ DIR_BKPをエコーし​​てみてくださいましたCentOSの6.8の代わりに、7でテストされても、それが実際にあなたが期待しているものが含まれていることを確認する? –

+0

あなたはWintendoボックスであなたのスクリプトを編集したと思います。おそらく "bashスクリプト"の重複したものが "コマンドが見つかりませんでした"というメッセージを出力します。(http://stackoverflow.com/questions/7362504/bash-script-always-prints-command-not-found) – tripleee

+0

名前のないボイスは、$ DIR_BKPプリントをエコーし​​ます。正しく、すなわち "/ tmp/_bkp_local" –

答えて

0

シェルで直接コマンドを実行すると、すべて正常に動作し、問題はスクリプトを介してコマンドを実行するときにのみ発生します。動作させるために、私はこのような「輸出」を、使用していた:

export DIR_BKP=/tmp/_bkp_local 
export PATH_LOG=${DIR_BKP}/logs 
echo $DIR_BKP 
echo $PATH_LOG 

Prints: 
/tmp/_bkp_local 
/tmp/_bkp_local/logs