1. 變量賦值時(shí) = 兩邊不能有空格.
2. if比較時(shí) = 兩遍有空格.
3. [ 的 左右兩邊 ?? 和 ?] 的左邊有空格,
?
?
1 #!/bin/ sh 2 # 字符串比較 3 aa= 4 bb= " hello " 5 cc = " world " 6 7 # 1 .注意判斷中的字符串變量用雙引號(hào)括起來(lái)(不括起來(lái)在某些情況下會(huì)出錯(cuò)); 8 # 2 .字符串判斷相等用一個(gè)等號(hào),不是兩個(gè); 9 # 3 .= 兩邊有空格; 10 # 4 .[的左右兩邊,]的左邊有空格. 11 if [ " ${aa} " = " ${bb} " ]; then 12 echo " yes " 13 else 14 echo " no " 15 fi 16
?
?
?
?
?
以下摘自http://blog.csdn.net/panda19881/article/details/6626727
1.定義變量時(shí), =號(hào)的兩邊不可以留空格.
eg:
gender=femal————right
gender =femal———–wrong
gender= femal———–wrong
2.條件測(cè)試語(yǔ)句 [ 符號(hào)的兩邊都要留空格
.
eg:
if [ $gender = femal ]; then——-right.
echo “you are femal”;
fi
if[ $gender...-----------------------wrong
if [$gender...----------------------wrong.
3.條件測(cè)試的內(nèi)容,如果是字符串比較的話, 比較符號(hào)兩邊要留空格!
eg:
if [ $gender = femal ]; then——-right.
if [ $gender= femal ]; then——–wrong.
if [ $gender=femal ]; then———wrong.
4.如果if 和 then寫(xiě)在同一行, 那么,注意, then的前面要跟上 ; 號(hào).如果 then 換行寫(xiě), 那么也沒(méi)問(wèn)題.
eg:
if [ $gender = femal ]; then——-right.
if [ $gender = femal ]
then——————————-right.
if [ $gender = femal ] then——-wrong. then前面少了 ; 號(hào).
提示出錯(cuò)信息:
syntax error near unexpected token then
同理,還有很多出錯(cuò)信息 比如
syntax error near unexpected token fi 等都是這樣引起的.
5.if 后面一定要跟上 then. 同理
elif 后面一定要跟上 then.
不然提示出錯(cuò)信息:
syntax error near unexpected token else
1)if 語(yǔ)句后面需要跟著then,同時(shí)前面要有分號(hào);
2) 空格非常重要,shell 會(huì)認(rèn)為空格前的為一個(gè)命令,如果a=3 認(rèn)為是賦值操作,如果寫(xiě)成a = 3,那么就會(huì)認(rèn)為a為一個(gè)命令 this=`ls -l |grep ‘^-’ | wc -l `
3) 操作符之間要用空格分開(kāi) ,如 test ! -d $1,其中的!和-d就要用空格分開(kāi)
空格是命令解析中的重要分隔符
6. 命令和其后的參數(shù)或?qū)ο笾g一定要有空格
if [ -x"~/Workspace/shell/a.sh" ];then
只有 -x 后有空格才表示緊跟其后的字符串是否指向一個(gè)可執(zhí)行的文件名,否則就成了測(cè)試 -x"~/Workspace/shell/a.sh" 這個(gè)字符串是不是空。
7.取變量值的符號(hào)'$'和后邊的變量或括號(hào)不能有空格
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
