shell 与 空格
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                shell 与 空格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                shell腳本中,不能隨意添加空格,否則出錯:
1,=等號兩邊必須無空格。否則出錯。如i =$1和i= $1都是錯的。但是在()內部不限制如for ((i= 1;i < 3;i= i+1))是正確的。
2,(())內外部括號之間無空格,( () )這樣報錯。但內部括號內不限制,隨便如s=$(( $i+1 ))可以
3,[]是條件判斷式,所以前后內部都必須空格。其內部元素之間必須有空格才能識別,否則一律報錯,如“while [ $i -lt 6 ]”少一個空格都報錯。總之,[]所在行每個獨立元素前后都必須有空格(不是一起的就必須空格)。-gt,-lt,-ge,-le,-ne
另外,單引號是字符串限定符,將內部內容作為字符串。而雙引號和{}是變量限定符,內部作為變量處理
例子:
#!/bin/bash for ((i= 1;i < 3;i= i+1)) doecho $i;echo '$i';echo "$i"; donewhile [ $i -lt 6 ] doi=$(( $i+1 ))echo $i done s=$(( $i+1 )) echo $s?
再如: bin=`dirname "$0"` ?如果寫成bin =`dirname "$0"`就報錯
#!/usr/bin/bashsource /etc/profilebin=`dirname "$0"` echo $bin echo "$bin" echo '$bin' echo ${bin} echo "${bin}" #inputfile="/home/deve_test_user/liu/observer_report_20130915155111" inputfile="$bin/observer_report_20130915155111" echo $inputfile echo ${inputfile} echo "$inputfile" echo "${inputfile}"輸出:. . $bin . . ./observer_report_20130915155111 ./observer_report_20130915155111 ./observer_report_20130915155111 ./observer_report_20130915155111?
從例子中可以看出:
1.{}和“”對于變量沒有影響。有沒有一樣
2.單引號''是變量成為字符串,echo '$bin'輸出為$bin
總結
以上是生活随笔為你收集整理的shell 与 空格的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 百度地图怎么添加自己的店铺位置(登录百度
 - 下一篇: 关于 redis、memcache、mo