tcshからzshに乗り換える場合の注意点
***********************************
  script file の構文が csh 系から sh 系に変わるので以下の点に注意して書
き換えると良いでしょう。

if (EXPR) then			if [[ EXPR ]]; then
 ...				 ...
else if (EXPR2)			elif [[ EXPR2 ]]; then
 ...			→	 ...
else				else
 ...				 ...
endif				fi

switch (VAL)			case VAL {
 case "PAT1":			 PAT1)
  ...				  ...
  breaksw			  ;;
   :			→	   :
 default:			 *)
  ...				  ...
endsw				}
(case VAL in;...; esac は source するとうまく動かないような…)

while (EXPR)			while (EXPR) {
 ...			→	 ...
end				}
(ただし setopt CSH_JUNKIE_PAREN する必要がある)

foreach			→	そのままつかえる

if (EXPR) CMD		→	[[ EXPR ]] && CMD
if (!EXPR) CMD		→	[[ EXPR ]] || CMD

alias x y		→	alias x=y
alias d 'dir \!*|more'	→	d () {dir $* | more}
(calias () {alias $1="$*[2,-1]"} とすると calias でcshと同じ構文で定義で
 きるのでscriptの先頭でcalias()を定義して.cshrcのaliasを全てcaliasに置き
 換えるという手もある)

set a=b			→	a=b
set a = b		→	a=b   (=の前後の空白不可)
setenv X Y		→	export X=Y
(setenv () {export $1="$@[2,-1]"}) とするとよい)
unsetenv FOO		→	unset FOO

complete		→	Misc/lete2ctl で書き換える
				or 地道に書き換える

exit (scriptからの)	→	return

--
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]