2016-11-20 14 views
2

私は、スクリプトの名前variable.shを持っており、以下のとおり多くの変数のセット含まれています。私は、変数内の変数の位置を変更するコマンドを実行する必要がは自動的にbashスクリプト内の変数を変更

var1=variable1 
var2=variable2 
var3=variable3 
var4=variable4 
var5=variable5 

.sh。そして、変数iがcommand.Itは、以下のようになります実行したときに変更されていきます。

最初の変更:

var1=variable2 
var2=variable3 
var3=variable4 
var4=variable5 
var5=variable1 

2番目の変更:

var1=variable3 
var2=variable4 
var3=variable5 
var4=variable1 
var5=variable2 

することは行うにはすべての可能なコマンドがあります上記の変更?私はubuntuでbashスクリプトを使用しています。

答えて

1

これは、Bashのアレイを使用して、たとえば行うことができますありがとう:

#!/usr/bin/env bash 

inputfile=/path/to/input 

vars=() 
values=() 
while read line; do 
    vars+=(${line%%=*}) 
    values+=(${line#*=}) 
done < "$inputfile" 

values+=(${values[0]}) 
for ((i = 0; i < ${#vars[@]}; i++)); do 
    echo ${vars[i]}=${values[i + 1]} 
done > "$inputfile" 
関連する問題