今日總結(jié)

1字符串的拼接
引用字符串的值,并將多個字符串的值作為新的字符串賦給新變量,即
str="$string1 $string2"

2字符串的長度
lenth=${#string}
注意:此時的#不在是注釋,表示計算字符的長度

3字符串的分割
nstr=${string:a:b}
把字符串string從第a個之后開始截取b個字符,賦給新的變量

4只讀:readonly
num=34
echo $num
只讀變量的值不可修改

5.清除變量的值
num=333
echo $num
unset $num
echo $num
注意:

unset是清除變量的值
若變量未定義直接使用,其值為空

4在此強調(diào)
shell程序必須指定腳本的解釋程序,即
在shell腳本程序的第一行必須是:

!/bin/bash

2空格問題
變量賦值時,等號(=)兩邊不可有空格
字符串的空格問題

其他情況:
盡量加空格
權(quán)限問題
sudo chmod a+x 文件名
sudo chmod u+x 文件名
sudo chmod 777 文件名

從鍵盤獲取變量的值
read: 在沒有輸入時,則一直等待輸入
read 變量1 變量2 變量3
此情況,將輸入的第一個變量的值賦給變量1,第二個給變量2,
剩余的值全部給變量3

不建議使用read num1 num2 num3... 這種
建議使用:
read num1
read num2
read nun3

shell的三大語句
功能性語句,說明3性語句,結(jié)構(gòu)分支語句
(1)說明性語句
以#號開頭的語句,至行末均為說明性語句
,說明性語句不解釋執(zhí)行,(整行)即注釋
說明性語句的位置可以程序中的任何位置,可以放在解釋語句之后,從#開始的部分到末行

(#) 井號只能注釋一行

(2)功能性語句

系統(tǒng)

(3)結(jié)構(gòu)型語句
多路分支語句,循環(huán)語句,循環(huán)控制語句,測試語句,條件語句

結(jié)構(gòu)型語句
加(+),減(-),乘(*),除(/),取余(%)(整數(shù))

expr let:針對整數(shù)做簡單的加,減,乘,除

sum= expr $num + $num1
sum1=expr $num \* $num1
sum=$(expr $num + $num1)
sum=$(expr $num*$num1)

let:
let sum=num+num1
let sum1=num*num1
乘法*:\是去掉*的元意,告訴解釋器這真的是乘法
``:取得結(jié)果集
$():取得結(jié)果集
二者結(jié)果相同

條件測試語句
(1) test 測試語句
(2)【條件測試語句】 :注意【】中的空格!!!!

-e 文件 :測試文件時候存在
-d 文件: 測試文件是否是目錄
-f 文件: 測試文件是否是文件
-r 文件 :測試文件是否可讀
-w 文件:測試文件是否可寫
-x文件: 測試文件是否可執(zhí)行

整數(shù)測試:
-eq: 相等
-ne:不等于
-gt:大于
-ge:大于或等于
-lt:小于
-le: 小于或等于

字符串比較:
-z string:string長度是否為零
-n string:若string非零,為真
string=string1:是否相同

邏輯操作符:
&&:邏輯與
事件1 &&事件2:事件1和事件2都為真,則為真
 ||:邏輯或
 事件1 || 事件2
-a: and
-o:or

常見的變量:
$?:命令執(zhí)行后的返回狀態(tài),
$*:所有參數(shù)列表
$@:所有參數(shù)列表
$#:傳遞到腳本的參數(shù)個數(shù)
$0:可執(zhí)行命令本身,不是定位參數(shù)
$1~$n:分別表示第一個至第n個位置參數(shù)

$1~$n:分別表示第一個至第n個位置參數(shù)
echo -n :不換行輸出!

if語句

(1)
if【條件】
then
命令
fi
(2)
if【 條件 】
then
命令
elif 【 條件 】
then
命令
else
命令
fi
若表達式為真,則執(zhí)行命令表1中的命令,退出if語句;
否則執(zhí)行命令表2中的語句退出if;
(3)test 語句的用法:
test命令測試的條件成立時,命令返回為真,否則返回值為假
方式一:
test $name -eq $1
echo $?
方式二:
if test -f $filename
then
......
fi
方式三:
if【-f $filename】
then
......
fi

case ...esac

多路分支語句case用于多重條件測試,語法結(jié)構(gòu)清晰自然
語法結(jié)構(gòu)為:
case 字符串變量 in #case 語句只能檢測字符串變量模式
模式 1)#個模式中可用文件名元字符,以右括號結(jié)束命令表一
;;#命令表以單獨的雙分號結(jié)束,退出case語句
模式2)
命令表2
;;
......
模式 n)#模式n常寫為字符*,表示所有其他模式
命令表n
;;
最后一個分號行可以省略
#
esac

for 循環(huán)
  for...do...done
當(dāng)循環(huán)次數(shù)確定時,使用for循環(huán)語句來執(zhí)行一條或一組命令
循環(huán)體由語句括號do和done來限定

格式為:
  for 變量名 in 單詞表
do
命令表
done
變量名依次取單詞表中的各個單詞,每取一次單詞,就依次執(zhí)行一次
循環(huán)體中的命令,循環(huán)次數(shù)由單詞表中的單詞數(shù)量確定,命令表中的命令可以是一條
也可以是由分好或換行符分開的多條
若單詞表是命令行上的所有位置的參數(shù)時,可以在for語句中省略
“in 單詞表”部分

方法二:
for((i=0;i<10;++i))
注意:
for循環(huán)值列表可以省略,默認從輸入?yún)?shù)中獲取

今日學(xué)習(xí)總結(jié):
今天腳本學(xué)習(xí)的內(nèi)容不多,剛接觸一點邏輯語言,前面還好,后面稍有點快了,然后學(xué)習(xí)了幾個shell腳本下的循環(huán),for ,while,編程現(xiàn)階段還不能自己獨立編程,能看懂老師的編程語言,但是自己寫的一點吃力,沒有一點思緒不知道如何下手,希望后續(xù)能多提升自己的編程思維,首先有個清晰的思路 。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內(nèi)容

  • vi編輯器和shell腳本的編輯使用方法 vi編輯器的使用方法命令:<一> 三種模式1.命令模式 此模式下,所輸...
    曉永遠閱讀 261評論 1 1
  • 個人學(xué)習(xí)批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,751評論 0 11
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,717評論 18 399
  • 今天我們一起交流的時《社會發(fā)展學(xué)》的三四章,我印象最深的就是老師提到的“歸因”。邊聽,邊就在電腦上寫下了此...
    言小小紅閱讀 149評論 0 2
  • 欲這個字,充滿了利 加上貪婪的意味 之后 罪孽便產(chǎn)生了 何時開始,人們都身披防護膜 患己 無他 辭了罷,每個人都有...
    小酒崗閱讀 184評論 0 0