最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell編程時(shí)出現(xiàn):未預(yù)期的符號?`then'?附近有語法錯(cuò)誤?或者?:?行?:?`then'問題

 更新時(shí)間:2022年12月14日 09:08:25   作者:wazjr  
這篇文章主要介紹了shell編程時(shí)出現(xiàn):未預(yù)期的符號?`then'?附近有語法錯(cuò)誤?或者?:?行?:?`then'問題,本文給大家介紹的非常詳細(xì),需要的朋友參考下

未預(yù)期的符號 `then' 附近有語法錯(cuò)誤: 行 : `then'` if [ -f $i ];then'未預(yù)期的符號 `done' 附近有語法錯(cuò)誤

#!/bin/bash
cd /var/log
sum=0
for i in `ls -r *`
do
??????? if [ -f $i ];then
        ??????? let sum++
        ??????? echo "文件名:$i"
??????? fi
done
echo "總文件數(shù)量為:$sum"

上面的代碼看起來是一點(diǎn)問題都沒有,但是一旦復(fù)制粘貼到linux里面運(yùn)行就會(huì)出現(xiàn)各種奇奇怪怪的問題,如下:

test.sh: 行 6: 未預(yù)期的符號 `then' 附近有語法錯(cuò)誤
test.sh: 行 6: ` if [ -f $i ];then'

test.sh: 行 10: 未預(yù)期的符號 `done' 附近有語法錯(cuò)誤
test.sh: 行 10: `done'

上面的錯(cuò)誤信息著實(shí)是把我給整蒙了,還好我還是相信計(jì)算機(jī)的嚴(yán)謹(jǐn),認(rèn)真看了一下報(bào)錯(cuò)信息,發(fā)現(xiàn)都是then 或者 done的前面出現(xiàn)了一個(gè)反引號,非常奇怪,明明我們就沒寫過反引號進(jìn)去。

查找了不少資料,最后查到是Windows和linux系統(tǒng)的環(huán)境不一樣導(dǎo)致的,解決方式非常簡單粗暴,就是在linux里面刪除對應(yīng)的代碼重新一個(gè)一個(gè)敲就好,還有另一個(gè)方法是用notepad++里面設(shè)置linux環(huán)境,這個(gè)請讀者自行驗(yàn)證。

下面看看我的解決過程:

出現(xiàn)如下錯(cuò)誤

把then那行dd刪除,整行重新輸入,出現(xiàn)新的錯(cuò)誤,如下:

把done那行刪除,發(fā)現(xiàn)沒用,還是報(bào)錯(cuò),想到done是在一行起始處(并且反引號在done前面),有理由懷疑是上一行的原因,把上一行刪掉重寫(就是 fi),成功通過,如下:

上面只要用sudo運(yùn)行即可

綜上,找了好久都沒找到原因,因?yàn)榇a本來就是對的,只是我懶,直接copy進(jìn)linux里面運(yùn)行(誰知道會(huì)不兼容呢),所以還是得一個(gè)一個(gè)敲的穩(wěn)妥。

到此這篇關(guān)于shell編程時(shí)出現(xiàn):未預(yù)期的符號 `then' 附近有語法錯(cuò)誤 或者 : 行 : `then'的文章就介紹到這了,更多相關(guān)shell未預(yù)期的符號 `then' 附近有語法錯(cuò)誤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

乌苏市| 建始县| 铁岭市| 长白| 楚雄市| 库车县| 准格尔旗| 岐山县| 胶州市| 泗水县| 陇川县| 化州市| 宝山区| 瓦房店市| 克东县| 阳江市| 南部县| 岗巴县| 洱源县| 洪江市| 易门县| 隆回县| 特克斯县| 洞头县| 名山县| 乌兰浩特市| 娄烦县| 塔城市| 新昌县| 商都县| 临漳县| 安阳县| 巢湖市| 嘉禾县| 秭归县| 新巴尔虎左旗| 台安县| 吉水县| 东至县| 肃宁县| 鲁甸县|