日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Shell編程時出現(xiàn)未預(yù)期的符號?`then'附近有語法錯誤或者?:?行?:?'then'問題
/bin/basha=10b=20if [ $a == $b ]echo "a等于b"fi上述代碼漏掉了if和[之間必須加空格”`fi'我們可以通過將代碼修改成下面這樣來解決以上報錯。

作為計算機(jī)領(lǐng)域中一種重要的腳本語言,Shell在Linux系統(tǒng)中廣泛應(yīng)用。然而,當(dāng)我們在使用Shell編程時,經(jīng)常會遇到各種各樣的問題。其中一個比較常見的問題就是“未預(yù)期的符號‘then’附近有語法錯誤”或者“?: 行:? ‘then’ 問題”。這些錯誤信息往往讓人摸不著頭腦。

10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有武宣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

那么,這些錯誤究竟是什么意思?如何解決它們呢?

首先來看第一個錯誤:“未預(yù)期的符號‘then’附近有語法錯誤”。這個錯誤通常發(fā)生在if條件判斷結(jié)構(gòu)中。如果你漏掉了if后面緊隨其后必須跟著的空格,則會導(dǎo)致此類報錯:

```

#!/bin/bash

a=10

b=20

if [ $a == $b ]

echo "a等于b"

fi

上述代碼漏掉了if和[之間必須加空格,因此執(zhí)行該代碼會得到以下輸出:

./test.sh: line 5: syntax error near unexpected token `fi'

./test.sh: line 5: `fi'

我們可以通過將代碼修改成下面這樣來解決以上報錯:

if [ $a == $b ]; then

在這個例子中,我們添加了一個分號和“then”關(guān)鍵字來指示if語句的結(jié)束。如果你仍然遇到相同的錯誤,請檢查是否還有其他語法錯誤或拼寫錯誤。

接下來看第二個常見問題:“?: 行:? ‘then’ 問題”。這種類型的報錯通常意味著你在使用bash shell時不小心使用了一元表達(dá)式。一元表達(dá)式是指只包含一個變量或值并被認(rèn)為是真(true)或假(false)的條件判斷語句。例如:

num1=5;

num2=6;

if [$num1 -lt $num2]

then echo "$num1 is less than $num2"

else echo "$num1 is greater than or equal to $num2"

上述代碼中,我們沒有正確地將方括號與條件之間隔開,因此會導(dǎo)致以下輸出:

./test.sh: line 4: [: missing `]'

./test.sh: line 4: num1: command not found

$num1 is greater than or equal to $sum2

要解決這個問題,我們需要確保在方括號內(nèi)部加入空格,并且把變量名用$符號引用起來。修改后如下所示:

#!/bin/bash

sum1="5"

sum2="6"

if [ "$sum1" -lt "$sum2" ]

then

echo "$sum1 is less than $sum2!"

else

echo "$sum1 is greater than or equal to $sum2!"

經(jīng)過以上修改,我們就可以成功運(yùn)行該代碼了。

總的來說,在Shell編程中遇到“未預(yù)期的符號‘then’附近有語法錯誤”或者“?: 行:? ‘then’ 問題”的報錯時,一定要耐心地檢查自己的代碼是否存在拼寫錯誤、變量引用不當(dāng)?shù)葐栴}。只有確保每個字符都是正確且完整的,才能使你順利地完成Shell腳本編程工作。


網(wǎng)頁標(biāo)題:Shell編程時出現(xiàn)未預(yù)期的符號?`then'附近有語法錯誤或者?:?行?:?'then'問題
分享鏈接:http://www.dlmjj.cn/article/dpcedcc.html