轉載自無雙城堡 | 惡魔天使
當在shell編輯指令碼時,運行時出現了" ‘: not a valid identifier ",或者會出現(: command not found,許多莫名其妙的符號)很可能你在windows下編輯,在Linux下運行,由於Linux和windows的文字格式設定不同所導致的。
上面可能是反應之一,有時終端顯示" :沒有檔案…"也是這個原因造成的 大部分由分號開頭":"
解決方案:只要用UltraEdit工具轉換成Linux格式,重新source運行無錯誤即可
Linux和windows的文本的區別:
1.Linux的換行: "n"
2.windows的換行: "rn"(斷行符號,換行)
例如今天在RHEL中使用TOMCAT一直處於亂碼,查看i18n,發現已經被修改成支援GBK的了,應該沒問題,但是,一直都是亂碼。猛然想起ssh登入時提示’: not a valid identifier 。又用locale看了一下,輸出LANG竟然為空白,正在鬱悶要一個一個指令碼翻著看時。source /etc/sysconfig/i18n 提示’: not a valid identifier 。下載用ultraedit轉換後成為unix檔案格式後,上傳,執行source,重啟TOMCAT,亂碼消除。
附: i18n中文支援內容,省的到處找,解決中文亂碼
#以下注釋為原檔案內容,英文的
#LANG="en_US.UTF-8"
#SYSFONT="latarcyrheb-sun16"
#以下為中文支援內容
LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GBK:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="zh_CN.GBK"
export LC_ALL