欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

未預(yù)期的符號(hào) `then' 附近有語(yǔ)法錯(cuò)誤: 行 : `then'` if [ -f $i ];then'未預(yù)期的符號(hào) `done' 附近有語(yǔ)法錯(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"

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

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

test.sh: 行 10: 未預(yù)期的符號(hào) `done' 附近有語(yǔ)法錯(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è)反引號(hào),非常奇怪,明明我們就沒寫過反引號(hào)進(jìn)去。

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

下面看看我的解決過程:

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

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

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

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

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

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

相關(guān)文章

  • 用內(nèi)置變量調(diào)試shell腳本的方法

    用內(nèi)置變量調(diào)試shell腳本的方法

    這篇文章主要介紹了用內(nèi)置變量調(diào)試shell腳本的方法,需要的朋友可以參考下
    2014-03-03
  • Linux下利用Opencv打開筆記本攝像頭問題

    Linux下利用Opencv打開筆記本攝像頭問題

    這篇文章主要介紹了Linux下利用Opencv打開筆記本攝像頭問題,需要的朋友可以參考下
    2017-08-08
  • Bash Shell中Shift用法分享

    Bash Shell中Shift用法分享

    這篇文章主要介紹了Bash Shell中Shift的使用方法,需要的朋友可以參考下
    2013-08-08
  • Shell中使用plink工具實(shí)現(xiàn)遠(yuǎn)程批量關(guān)機(jī)

    Shell中使用plink工具實(shí)現(xiàn)遠(yuǎn)程批量關(guān)機(jī)

    這篇文章主要介紹了Shell中使用plink工具實(shí)現(xiàn)遠(yuǎn)程批量關(guān)機(jī),Plink 是命令行工具,執(zhí)行遠(yuǎn)程服務(wù)器上的命令,需要的朋友可以參考下
    2014-12-12
  • Shell中set與shopt命令選項(xiàng)的含義和使用示例

    Shell中set與shopt命令選項(xiàng)的含義和使用示例

    這篇文章主要給大家介紹了關(guān)于Shell中set與shopt命令選項(xiàng)的含義與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Shell 管道及執(zhí)行順序分析

    Shell 管道及執(zhí)行順序分析

    Shell 管道及執(zhí)行順序分析,需要的朋友可以參考下
    2013-01-01
  • shell腳本之sed詳細(xì)用法詳解

    shell腳本之sed詳細(xì)用法詳解

    Sed是一個(gè)非交互性文本流編輯器,它編輯文件或標(biāo)準(zhǔn)輸入導(dǎo)出的文本拷貝,vi中的正則表達(dá)式命令在sed中大多可以通用,下面這篇文章主要給大家介紹了關(guān)于shell腳本之sed詳細(xì)用法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Linux 中的Edquota命令

    Linux 中的Edquota命令

    Linux edquota命令用于編輯用戶或群組的磁盤配額。下面通過本文給大家分享Linux 中的Edquota命令,感興趣的朋友一起看看吧
    2017-10-10
  • Shell腳本中[]和[[]]區(qū)別詳解

    Shell腳本中[]和[[]]區(qū)別詳解

    在 Shell 腳本中,[] 和 [[]] 是用于條件測(cè)試的不同語(yǔ)法結(jié)構(gòu),它們有一些區(qū)別,主要體現(xiàn)在對(duì)字符串處理和表達(dá)式的支持上,這篇文章主要介紹了Shell腳本中[]和[[]]區(qū)別,需要的朋友可以參考下
    2023-12-12
  • Linux中實(shí)現(xiàn)非登錄系統(tǒng)用戶執(zhí)行命令的方法

    Linux中實(shí)現(xiàn)非登錄系統(tǒng)用戶執(zhí)行命令的方法

    Linux系統(tǒng)中,管理員經(jīng)常需要通過一個(gè)無(wú)法登錄shell的系統(tǒng)用戶來(lái)執(zhí)行特定的命令,這種需求在管理多用戶系統(tǒng)或自動(dòng)化任務(wù)時(shí)尤為常見,下面,我們將詳細(xì)講解如何實(shí)現(xiàn)這一需求,并深入分析其背后的原理,需要的朋友可以參考下
    2024-01-01

最新評(píng)論