shellで文字列を分割し,配列にする
やりたいこと
$ add-export RBENV_HOME=$HOME/.rbenv #=> ~/.export/RBENV_HOME/export.zsh $ cat ~/.export/RBENV_HOME/export.zsh #=>export RBENV_HOME=/Users/mocchi/.rbenv
option:enable
style:terminal
function add-export
では,引数に渡されたRBENV_HOME=$HOME/.rbenv
を=
で分割する.
分割した値でディレクトリを作成し,そのディレクトリ内へファイルを作成・値の書き込みをしたい.
解決方法
sedを使い=
を空白へ置き換える.
その結果をevalで評価して配列にする.
あとはそのまま値を使えば良い.
add-export(){ str=$(echo $1 | sed 's/=/ /') eval "array=($str)" mkdir -p ~/.export/$array[1]/ ... ... }