bash変数にコマンドを丸ごと入れてエラーになったらeval

Last-modified: 2014-08-16 (土) 12:41:50 (2120d)

空白をダブルクォーテーションしているときなど、コマンドによっては、 エラーとなってしまうことがある。

COMMAND_STR="${A} ${B} \"${C}\"  "
${COMMAND_STR}
→エラー

ただし、echo ${COMMAND_STR} して、その出力をコピペするとエラーにならない場合や、

echo ${COMMAND_STR} >temp.sh; . temp.sh

とするとエラーにならない場合は、evalを使えば解決できるかもしれない。

eval ${COMMAND_STR}