vim編輯器的介紹
vim(vimsual)是 Linux/UNIX 系列 OS 中通用的
全屏編輯器
轮锥。-
vimm 分為兩種狀態(tài)绞灼,即
命令狀態(tài)
和編輯狀態(tài)
.
(1)在命令狀態(tài)下皮壁,所鍵入的字符系統(tǒng)均作命令來處理更米,如:q 代表退出爬舰。
在命令狀態(tài)下禀横,按”i”(插入)或”a”(添加)可以進入編輯狀態(tài)屁药。
(2) 編輯狀態(tài)則是用來編輯文本資料的。當你進入 vim 時燕侠,會首先進入命令狀態(tài)者祖。 在編輯狀態(tài),按 ESC 鍵進入命令狀態(tài)绢彤。
1七问、Shell編程概述
- 如果我們有一系列經(jīng)常使用的 Linux 命令,我們可以把它們存儲在一
個文件中茫舶。Shell 可以讀取這個文件并執(zhí)行其中的命令械巡。這樣的文件被稱
為腳本文件。 - 最常用的shell是Bash,也就是Bourne?Again?Shell
- 執(zhí)行 shell 腳本:要創(chuàng)建一個 shell 腳本讥耗,我們要使用任何編輯器比如 vi 在文本文件中編寫它有勾,保存的文件最好是.sh 后綴的。
舉個例子:
vi first_shell.sh
腳本編寫完畢古程,如何來執(zhí)行呢蔼卡,首先執(zhí)行shell腳本需要執(zhí)行權(quán)限,賦予執(zhí)行權(quán)限:
shell 腳本的編寫語法如下:
1.程序往往以下面的行開始 #!/bin/bash(由于是在 redhat 下挣磨,所以系統(tǒng)默認
的 shell 是 bash shell雇逞。)
"#!"是一個約定的標記,它告訴系統(tǒng)這個腳本需要什么解釋器來執(zhí)行茁裙。
2.注釋 #
3.shell 變量
- btw, shell編程語言是非類型的解釋性語言塘砸,不像C++/JAVA語言編程時需要事先聲明變量,shell給一個變量賦值晤锥,實際上就是定義了變量掉蔬,在Linux支持的所有shell中,都可以用賦值符號(=)為變量賦值矾瘾。
- shell變量可分為兩類:局部變量和環(huán)境變量女轿。局部變量只在創(chuàng)建它們的shell腳本中使用。而環(huán)境變量則可以在創(chuàng)建它們的shell及其派生出來的任意子線程中使用壕翩。||有些變量是用戶創(chuàng)建的谈喳,其他的則是專用shell變量。
shell常見的系統(tǒng)變量解析
- shell 變量沒有數(shù)據(jù)類型戈泼,都是字符串婿禽,即使數(shù)值也是字符串
- 創(chuàng)建變量:
變量名稱=值
。如果值有空格則必須用""或者’’引用起來
Eg: a=“hello” (=號兩邊不能有空格) - 引用變量:echo {a} 或 echo “扭倾、””、’’三種以外其它
字符的特殊意義)
1>: #echo ?hello 等同于#echo ${a}
#echo “${a}” 2>: #echo “hello b$aa” ?hello b,因為此時把 aa 作為一個
整體變量挽绩,而且沒有定義膛壹,所以輸
出前面的字符串
3>: #echo “hello b${a}a” ?hello bhelloa
4>: #echo”${a}a” ?helloa
5>: #echo ‘${a}a’ ?${a}a,因為’’會消除特殊字符的意義。
6>: #echo ‘\${a}a’ ?\${a}a
刪除變量:unset 變量名 eg: unset a
還可以設(shè)置變量為只讀變量 readonly a=3
也可以允許用戶從鍵盤輸入唉堪,實現(xiàn)程序交互:read a
echo $? 用于顯示上一條命令的執(zhí)行結(jié)果(0 表示成功模聋,1 表示失敗)唠亚,
或者函數(shù)返回值链方。
- 環(huán)境變量
shell常見的系統(tǒng)變量解析:
n 當前程序的第n個參數(shù),n = 1, 2 …
# 當前程序的參數(shù)個數(shù)(不包括程序本身)
UID 當前用戶的ID
$PWD 當前所在的目錄
echo $?
// 這個命令使用的情況會比較多工窍,可以判斷上一條命令是否輸入正確。
//只有返回值為0 的情況下 才是輸入正確 返回值為其他值的話則為輸入錯誤前酿。
菜單欄的編寫:
2患雏、shell編程的if條件語句的學習
在Linux Shell 編程中,if罢维、for淹仑、while、case等條件流程控制語句用的非常多肺孵,把這些字好攻人,對提升腳本的功力有非常大的幫助。下面將逐個來講解具體的用法悬槽。
(1)if 條件判斷語句
if (表達式) #if (Variable in Array)
語句1
else
語句2
fi
(( )) //兩個小括號在shell腳本中是對比判斷 在比較大小中會用到的比較多
舉個簡單例子
if
-f 判斷文件是否存在 if [ ! -f /tmp/test.txt]; then
-d 判斷目錄是否存在 if [ ! -f /tmp/622]; then
-gt 判斷是否大于
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。 易于人閱讀和編寫瞬浓。同時也易于機器解析和生成初婆。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)猿棉。 這些特性使JSON成為理想的數(shù)據(jù)交換語言
磅叛。
JSON建構(gòu)于兩種結(jié)構(gòu):
- “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中萨赁,它被理解為對象(object)弊琴,紀錄(record),結(jié)構(gòu)(struct)杖爽,字典(dictionary)敲董,哈希表(hash table),有鍵列表(keyed list)慰安,或者關(guān)聯(lián)數(shù)組 (associative array)腋寨。
- 值的有序列表(An ordered list of values)。在大部分語言中化焕,它被理解為數(shù)組(array)萄窜。
JSON具有以下這些形式:
對象是一個無序的“‘名稱/值’對”集合。一個對象以 {左括號
開始撒桨, }右括號
結(jié)束查刻。每個“名稱”后跟一個 :冒號
;“‘名稱/值’ 對”之間使用 ,逗號
分隔凤类。