shell 編程中空格的使用方法
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寫在同一行, 那么,注意, then的前面要跟上 ; 號(hào).如果 then 換行寫, 那么也沒問題.
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)為是賦值操作,如果寫成a = 3,那么就會(huì)認(rèn)為a為一個(gè)命令 this=`ls -l |grep ‘^-' | wc -l `
3) 操作符之間要用空格分開 ,如 test ! -d $1,其中的!和-d就要用空格分開
空格是命令解析中的重要分隔符
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)不能有空格
- Linux命令行和shell腳本編程寶典 Richard Blum
- shell腳本編程之for語(yǔ)句、if語(yǔ)句使用介紹
- Linux shell腳本編程if語(yǔ)句的使用方法(條件判斷)
- 5個(gè)Shell腳本編程入門練習(xí)例子
- Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例
- Shell 編程:Bash空格的那點(diǎn)事
- shell腳本編程實(shí)現(xiàn)9*9乘法表
- Linux Shell 腳本編程入門教程
- Shell腳本編程之判斷語(yǔ)句
- shell腳本編程之循環(huán)語(yǔ)句
- Shell編程中while與for的區(qū)別及用法詳解
- Linux下Shell編程快捷鍵大全(日常整理)
- 詳解Shell編程之變量數(shù)值計(jì)算(一)
- 詳解Shell編程之if語(yǔ)句實(shí)戰(zhàn)(小結(jié))
- Shell編程之case語(yǔ)句實(shí)戰(zhàn)(小結(jié))
- 對(duì)Linux下shell編程之for循環(huán)的實(shí)例講解
- Shell腳本編程30分鐘入門(小結(jié))
- shell編程入門之變量,字符串,數(shù)組,函數(shù)使用方法總結(jié)
相關(guān)文章
linux shell腳本學(xué)習(xí)xargs命令使用詳解
xargs是一條Unix和類Unix操作系統(tǒng)的常用命令。它的作用是將參數(shù)列表轉(zhuǎn)換成小塊分段傳遞給其他命令,以避免參數(shù)列表過長(zhǎng)的問題2013-12-12實(shí)現(xiàn)自動(dòng)清除日期目錄shell腳本實(shí)例代碼
這篇文章主要介紹了實(shí)現(xiàn)自動(dòng)清除日期目錄shell腳本實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpret
這篇文章主要介紹了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以參考下2014-10-10linux實(shí)現(xiàn)解壓.tar.gz文件的示例詳解
這篇文章主要為大家詳細(xì)介紹了linux實(shí)現(xiàn)解壓.tar.gz文件的相關(guān)知識(shí),文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08Shell腳本實(shí)現(xiàn)從文件夾中遞歸復(fù)制文件
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)從文件夾中遞歸復(fù)制文件,本文腳本實(shí)現(xiàn)從十層左右的文件夾中復(fù)制所有文件到一目錄中,需要的朋友可以參考下2015-02-02Linux 下mysql通過存儲(chǔ)過程實(shí)現(xiàn)批量生成記錄
這篇文章主要介紹了Linux 下mysql通過存儲(chǔ)過程實(shí)現(xiàn)批量生成記錄的相關(guān)資料,需要的朋友可以參考下2017-05-05shell函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù)(不帶返回值和帶返回值)
本文主要介紹了shell函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù)(不帶返回值和帶返回值),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08linux shell實(shí)現(xiàn)隨機(jī)數(shù)幾種方法分享(date,random,uuid)
這篇文章主要介紹了linux shell實(shí)現(xiàn)隨機(jī)數(shù)多種方法(date,random,uuid),需要的朋友可以參考下2015-10-10