■ [shell][howto] zshでPATHのような変数の値が重複しないようにする zshにて環境変数PATHのようにコロン区切りの変数の値が重複しないようにしたい。 $ VAR=aaa:bbb:aaa としたときに $ echo $VAR aaa:bbb と振る舞って欲しいということ。 以前は「いい方法は見当たらなかった」と書いているがいい方法はある。 設定方法 組み込みコマンドのtypesetを使って $ typeset -TU VAR var とする。「var」の部分はほかの変数と同名にならなければ何でもよい。 -Tオプションで変数VARを配列変数varと関連づけ、-Uで重複除去の属性をセットしている。-Tは余計な設定に感じるが、これが無いと動作しない(少なくとも手元のzsh 4.3.11では)。 動作例 $ VAR=aaa:bbb:aaa $ echo $VAR aaa:bb
![zshでPATHのような変数の値が重複しないようにする - メモの日々(2017-12-13)](https://cdn-ak-scissors.b.st-hatena.com/image/square/b7e2b2a529bc9188ae2599bdf5357e96cec7472e/height=288;version=1;width=512/http%3A%2F%2Fogawa.s18.xrea.com%2Ftdiary%2Ftheme%2Fogimage.png)