天天看點

Shell 腳本入門一

shell環境設定:

shell也是應用程式,工作于使用者模式;運作為程序;

shell程序用于提供指令行界面:提供一系列工作特性,有些特性可以自行設定;

bourn: shell, bsh --> sh

BSD: Berkeley System Distribution, csh

korn --> ksh

bash --> Bourn Again SHell, bash

/etc/shells: tcsh, dash

/sbin/nologin: 不能登入

# useradd -s /sbin/nologin mongodb

解釋器:

了解其它指令,并且讓指令執行起來;

了解語句,并且能根據流程控制機制讓語句按需執行;

編譯器:

了解源程式,并且能夠将源程式轉換為二進制格式,而後讓其夠執行;

程式檔案:源代碼

由解釋器負責讀取一句執行一句;

事先,将整個程式轉換成二進制格式,而後執行;

程式開發語言:

解釋型語言:perl, python, ruby, bash

也稱為動态語言

編譯型語言:C, C++, C#

也稱為靜态語言

變量:記憶體空間,可用于存儲資料

變量類型:資料存儲格式,資料表示範圍;

整型

浮點型

字元型

布爾型

整數:11, 4bits, 8bits

1011

字元:ASCII, 所有基本字元共128個,至少7bits來表示所有的基本字元;

1:8bits

1: 8bits

浮點:11.00,近似值

單精度

雙精度

要使用變量,其步驟通常是:

1、聲明:要指定其類型;

聲明的同時,給其一個初始值,這個叫做變量的初始化;

2、指派:

int V=3;

bash: 互動式接口,提供程式設計環境

變量:

弱類型語言:

1、不強制區分變量類型,無論存儲什麼資料,預設均以字元格式存儲;

2、不需要事先聲明;用到時,直接使用,直接指派;

定義變量:

[set] VAR_NAME=Value

引用變量:

${VAR_NAME}

撤消變量:

unset VAR_NAME

bash變量類型:

本地變量:隻對目前shell程序有效;對其子shell及其它shell都無效;

局部變量:local VAR_NAME=Value,僅對局部代碼有效,其作用範圍不包括目前shell的所有位置;

環境變量:export VAR_NAME=Value, 對目前shell及其子shell有效;

位置變量:$1, $2, ...

特殊變量:$$, $!, $#, $?

bash變量也可聲明,甚至可以指定類型:declare

declare -i VAR_NAME: 聲明一個整型變量

declare -x VAR_NAME: 聲明一個環境變量

declare -a VAR_NAME: 聲明一個數組

bash檢視環境變量的指令:

printenv

export

檢視所有變量:

set

變量引用:${VAR_NAME}

變量替換:隻有在雙引号中才能實作,

bash的引号:

雙引号:弱引用,可以實作變量替換;

單引号:強引用,不替換,而顯示字元串本身;

反引号:指令引用, ``, $()

`date`

bash特性:

變 量

快捷鍵

指令别名

指令行展開:{}, ~

管道

輸入、輸出重定向

程式設計

指令行補齊

路徑補全

bash的快捷鍵:

Ctrl+a: 跳至指令行首

Ctrl+e: 尾

Ctrl+u: 删除指令行首至目前光标所在處的内容

Ctrl+k: 删除目前光标所有處至指令行尾的内容

Ctrl+l: 清屏,相當于clear指令