在UNIX/Linux下編程必須需要注意一下幾點(diǎn)問題(特別是在運(yùn)行于Windows上的IDE或編程工具進(jìn)行開發(fā)):
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了蓬溪免費(fèi)建站歡迎大家使用!
1.大小寫問題。
在文件或目錄的命名規(guī)則中,特別注意駝峰命名法的大小寫區(qū)分問題。有些語言的內(nèi)部變量或者引用方面同樣也是。
2.權(quán)限問題。
不要任意操作文件系統(tǒng),換句話說,不要動與自己無關(guān)的任何文件(UNIX/Linux下一切都是文件),特別是新部署或者應(yīng)用中要生成新文件時將權(quán)限先查看清楚
3.關(guān)于unix文件編碼問題的再次強(qiáng)調(diào)
在運(yùn)行于Windows上的IDE或編程工具進(jìn)行開發(fā)時特別注意,保存文件時一定要將dos文件格式(file format)轉(zhuǎn)化成unix文件格式。
dos文件格式中換行符為\r
unix文件格式中換行符為
現(xiàn)在vim和awk對此有了改進(jìn),能自動識別,而grep還不能很好的識別,因此一旦用grep這樣的工具就會導(dǎo)致出現(xiàn)未知的后果。
附:針對文件格式做的一些測試:
#!/bin/bash #chkconfig: 345 86 14 #description: Startup and shutdown script for ChatterServer(Port:$SERVICEPORT)) #SERVICEPORT=29093 #SERVICEPORT=`grep ^port $(pwd)/../conf/constant.properties | awk -F '=' '{print $2}'` PORTFILE=$(pwd)/../conf/constant.properties #SERVICEPORT=$(cat $PORTFILE | grep ^port | awk -F '=' '{print $2}') SERVICEPORT=$(cat $PORTFILE | dos2unix | grep ^port) echo "SUCCESS: ChatterServer(Port:$SERVICEPORT) is OK"
上面的constant.properties文件的fileformat如果為dos,如下圖所示:
則就會出現(xiàn)
另一個測試腳本:
cat >./portfile<針對上面的文件格式問題,可以用IDE或者文件編輯器來處理,例如下圖所示的設(shè)置:
也可以用vim中的:set ff=unix轉(zhuǎn)換,也可以用dos2unix這樣的工具轉(zhuǎn)換,如下面的腳本所示:
# NOTE: $(pwd)/../conf/constant.properties file fileformat must be unix NOT dos in shell scripts, or will cause some unknown error # NOTE: grep is vrey sensitive to dos fileformat or unix fileformat # apt-get install dos2unix PORTFILE=$(pwd)/../conf/constant.properties SERVICEPORT=$(cat $PORTFILE | dos2unix | grep ^port | awk -F '=' '{print $2}')--end--
新聞名稱:UNIX/Linux環(huán)境編程必須需要注意的問題總結(jié)
標(biāo)題鏈接:http://weahome.cn/article/jpspgi.html