2017-10-06 14 views
0

要件は単純ですが、私はLinuxの専門家ではなく、stackoverflowから利用可能なコードが機能していないため、助けが必要です。私はシェルスクリプトの引数として渡された新しい値に200を更新するために、シェルスクリプトを必要とするlinux sedコマンドを使用してファイルを更新する

$$REFRESH_LOAD_TIME=200 

: 私は、情報用のパラメータ・ファイルを持っている特定の行で、私は以下のパターンを持っています。以下のコードは期待通りに動作しません。

#!/bin/bash 
RefreshUTCDateTime="$1" 
ParameterFileLocation ="$2" 
sed -i 's/$$REFRESH_LOAD_TIME/$$REFRESH_LOAD_TIME=$RefreshUTCDateTime /g' $ParameterFileLocation* 

期待値ポストの実行、 が引数として渡されます。

$$REFRESH_LOAD_TIME=100 

私はこのA shell script to to change a value in a file with a parameter てほしいしかし、それは支援されていません。

答えて

0
sed "s/\$\$REFRESH_LOAD_TIME.*/\$\$REFRESH_LOAD_TIME=$RefreshUTCDateTime /g" $ParameterFileLocation* 

簡単な説明、

  • 変数の拡張は、二重引用符で起こります。
  • ドル記号は、パターン置換のためにsedにエスケープする必要があります。
関連する問題