我目前正在將Linux上的csh腳本轉換爲Mac OS X lion上的bash腳本。將csh腳本轉換爲bash腳本
這個csh腳本的樣子:
setenv CNS_SOLVE '/Users/ucbthsa/Documents/haddock2.1/software/bin/'
setenv CNS_SOLVE $CNS_SOLVE
if (-d $CNS_SOLVE) then
if (! $?CNS_ARCH) setenv CNS_ARCH `$CNS_SOLVE/bin/getarch`
else
setenv CNS_ARCH 'unknown'
endif
我轉換到Mac bash腳本如下所示:
export CNS_SOLVE='/Users/ucbthsa/Documents/haddock2.1/software/bin/cns_solve_1.3'
export CNS_SOLVE=$CNS_SOLVE
if [ -d $CNS_SOLVE ]; then
if [ ! $?CNS_ARCH ]; then
export CNS_ARCH='$CNS_SOLVE/bin/getarch'
else
export CNS_ARCH='unknown'
endif
當我嘗試和源Mac的bash腳本,我得到以下錯誤:
-bash: cns_solve_env: line 10: syntax error: unexpected end of file
我不明白爲什麼我得到這個錯誤。
「fi」而不是「endif」? – SignalToNoise
兩個ifs,一個endif。 – bmargulies
哦,還有第二個如果沒有關閉 – SignalToNoise