2011-03-25 4 views
4

でコマンドを実行している:bashの:問題私は次のスクリプトbashスクリプトを作成した別の質問に答えるには、引用符

#!/bin/bash 

files1=(file1.txt file2.txt file3.txt) 
files2=(file1_.txt file2_.txt file3_.txt) 

cmd="vim -c 'set diffopt=filler,vertical' -c 'edit ${files1[0]}' -c 'diffsplit ${files2[0]}' " 
echo $cmd 
for i in {1..2}; do 
    cmd="${cmd} -c 'tabe ${files1[i]}' -c 'diffsplit ${files2[i]}' " 
done 

#$cmd 
echo $cmd 

問題は、私は年末に

$cmd 

を実行しようとするということですスクリプト私はエラーが発生しますが、echo $ cmdを使用してコマンドラインにコピー&ペーストすれば正常に動作します。

私が間違っていることは何ですか?

ありがとうございました。

答えて

8

用途:

eval $cmd 

式の中の変数は、実行前に展開されるように。

関連する問題