一:shell簡介
1.什麼是shell
shell的中文意思是「外殼」,通俗地講,shell是乙個互動程式設計介面,通過獲得使用者輸入來驅動作業系統核心完成指定工作。shell除了作為命令解釋程式以外,還是一種高階程式設計語音,它有變數、關鍵字、有各種控制語句、支援函式模組,有自己的語法結構。shell最重要的功能是命令解釋,從這種意義上說,shell是乙個命令直譯器。
2.linux系統上可執行的檔案分類如下:
linux命令:存放在/bin,/sbin目錄下的命令
內建命令:出於效率的考慮,將一些常用命令的解釋程式構造在shell內部
實用程式:存放在/usr/bin,/usr/sbin,/usr/local/bin等目錄下的實用程式或工具
使用者程式:使用者程式經過編譯生成可執行檔案後,也可作為shell命令執行
shell指令碼:由shell語音編寫的批處理檔案
二:shell變數
1.變數命名規則
以字母或下劃線開頭,剩下的部分可以是:字母、數字、下劃線
最好遵循下述規範:
1)以字母開頭
2)使用中劃線或者下劃線做單詞的連線
3)同型別的用數字區分
4)對於檔案最好加上拓展名
例如:aa、aa1、a_b.tar.gz
2.系統變數
set和env區別:set:顯示所有變數,env:環境變數
3.變數賦值
name=shenbuer
echo $name
刪除變數 unset name
(shell變數為小寫;環境變數為大寫)
4.常用系統變數
path:命令的搜尋路徑
pwd:顯示整個路徑名
lang:解壓或釋放程式
home:使用者根目錄的路徑名
histsize:儲存在歷史列表中的最大項數
ps1:提示符1,主提示符(預設為「\s-\v\$」)
ifs:內部字段分隔符,用於分詞
三、運算子
1.算術運算子
2、關係操作
與(())連用
< 小於
> 大於
<= 小於等於
>= 大於等於
== 等於
!= 不等於
&& 按位與
|| 按位或
3.賦值運算子
= 等於賦值
+= 加等於
*= 乘等於
/+ 除等於
%= 取模賦值
四、元字元
`` 命令替換 取命令的執行結果
$()同上,但它彌補了``的巢狀缺陷
~ 家目錄
! 取非
! 歷史命令呼叫
! 匹配最近一次歷史命令
! ls 帶空格 將命令的返回值取反
@ 無特殊含義
# 注釋
$ 變數取值
$() 同``
${} 變數名的範圍
$ 整數計算 echo $[2+3] - * / % 浮點數用 echo "scale=3; 10/3" | bc -l
% 殺後台程序 jobs號; 取模
^ 取非 和 ! 雷同
^ 替換
& 後台執行;&& 邏輯與
* 匹配任意長度字串;計算乘法
() 在子程序中執行
- 減號;區間;cd -;
_ 無特殊含義
+ 加號 ;
= 賦值
| 管道; || 邏輯或
\ 轉義;
{} 命令列表 ,注意括號內的開頭和結尾必須是空格
字元通配,匹配括號內之一;
: 空命令 真值
; 可以接多個命令:ls;pwd;echo 123;無論對錯,會一直執行到最後一條命令
"" 軟引 ''硬引
< 輸入重定向
> 輸出重定向
>> 追加
<< here document
>& 合併2和1輸出
, 列舉分隔符
. source ; 當前目錄
/ 目錄分隔符
? 單個字元
回車 命令執行
* 萬用字元:任意字元
? 萬用字元:任一字元
[abc] 列表項之一
[^abc] 對列表取非 也可以使用範圍 [a-z] 代表aabbcc...,[0-9]代表012345。。。
{} 迴圈列表
控制變數名的範圍 echo $c
\轉意
Shell基本用法 2
if condition then fi if condition then else fi if condition then elif fi 邏輯與 邏輯或 a b c a為true則執行b,a為false則執行c history 檢視歷史命令 crtl r 查詢命令 for c1 c2 c3 ...
shell介紹及基本用法
8.1 shell介紹 shell是乙個命令直譯器,提供使用者和機器之間的互動,支援特定語法,支援邏輯判斷 迴圈,並且每個使用者都可以有自己的shell centos預設的shell是bash bourne agin shell 其實為了紀念sh的創造者bourne這個使用者 常見的還有zsh po...
shell指令碼之printf用法
shell指令碼中的printf和c語言中的printf用法基本一致,只是在寫法上有些許區別 root algento 1 cat printf test.sh bin bash printf hello world root algento 1 sh printf test.sh hello wo...