Linux Shell筆記1 shell程式設計基礎

2021-09-24 02:21:53 字數 1512 閱讀 9558

shell語言是解釋型非強型別語言. linux shell不區分變數的型別, 一切都是字串型別, 變數名不能是數字開頭. 變數長度沒有限制, 變數可以進行比較操作和整數操作. 整數操作取決於字串的值是否是數字.

變數的引用需要用$, 且$varname一般和$等效, 但是注意有時變數可能會出現混淆的情況, 此時應該用第二種. shell中的所有變數都是全域性的, 即乙個shell程序只要宣告變數, 那麼這個shell程序就可以使用這個變數, 如果想要是區域性的, 需要前面新增關鍵字local. 沒有初始化的變數是null型別, 可以看成數字0

shell有強引用和弱引用, 分別是' '" "符號. 強引用會把所有的符號解釋成字元, 而弱引用會把變數替換成相應的值, 比如:

#!/bin/sh

a=1echo

'$a'

echo

"$a"

執行指令碼顯示:

$a

1

let的例子:

#!/bin/bash

a=1a=a+1

echo

$ab=1

let"b=b+1"

let b=b+1

echo

$b

輸出

a+1

3

可以看出, a變成了字串了, 而b還是執行加法. shell**現數值計算, 最好使用let.let支援i++i--io重定向操作, 需要使用><或者是>><<, 前兩個是覆蓋寫, 後兩個是追加.

linux直接執行shell命令或者檔案的時候, 是建立子程序執行, 子程序執行完畢後, 再返回到主程序. 如果需要在當前程序執行shell指令碼, 需要執行source ***.sh, 這個命令一般是執行配置檔案時候使用的.

還有一些特殊的作用的命令符號引數:

linux shell 之 sh與bash區別

在shell指令碼的開頭往往有一句話來定義使用哪種sh直譯器來解釋指令碼。1 bin sh 2 bin bash 二者區別如下 1.新建test.sh指令碼內容如下 bin sh source pcy.sh pcy.sh並不存在 echo hello 執行.test.sh,螢幕輸出為 test.sh...

Linux Shell 程式設計學習筆記 1

linux shell命令主要有三種 內部命令,shell函式,和外部命令 內部命令 內部命令是shell直譯器本身包含的命令,在檔案系統中沒有相應的可執行檔案。例如,cd命令和echo命令就是兩個常用的shell內部命令。命令列在執行內部命令時,不需要建立新的程序,當然也就不需要銷毀程序。互動式的...

學習筆記 linux shell程式設計1

用chmod形成乙個可執行檔案 chmod 771 myfile 乙個程式的使用者有三類 owner,group,others,每個數字對應一類使用者,將每乙個許可權級別數字相加求和 讀 read 4 寫 write 2 可執行 executable 1 bash shell學習 1.程式的第乙個命...