1. 程式人生 > >linux學習-----shell基礎

linux學習-----shell基礎

bash 命令選項 php readonly 執行權 取出 關系 TE KS

shell基礎

1.什麽是shell

shell是一個C語言開發的程序 他是用戶使用linux的橋梁

既是一個命令語言

一種應用程序 這個應用程序提供了一個界面 用戶通過這個界面訪問操作系統內核的服務

又是一種程序設計語言

2.什麽是腳本

腳本就是一條條的文字命令 這些命令是可以看得到的

常見腳本 JS PHP JSP SQL PHTHON PERL SHELL RUBY JAVAFX

3.shell的優點:

linux內置的腳本

程序開發效率高(批處理)

語法簡單易學

4.常見的shell種類

linux中默認的shell是 /bin/bash(重點)

ksh tcsh(csh增強版) zsh(linux中最龐大的一種shell 用起來復雜)

5.shell入門

編寫規範

1.代碼規範:

#!/bin/bash 指定告知系統當前腳本要使用的shell解析器

Shell相關指令

2.文件的命名規範:

文件名.sh

使用流程:

1.創建一個shell文件

2.編寫shell代碼

輸出命令:echo

註意 輸出的內容包含字母和符號 則需要用引號包起來

3.執行shell腳本 腳本必須要有執行權限

運行的時候一定要寫成./test.sh 告訴系統在當前目錄下查找

shell分為簡單的寫法(簡單命令的堆積)和復雜的寫法(程序的設計)

shell進階

1.變量

在一個腳本周期內 值可以發生變化的量就是變量

使用變量的時候 要在變量名前面加上$符號

2.變量名規範:

1.等號左右不能有空格

2.變量名中間不能用空格 可以使用“_”

3.不能使用標點符號

4.不能使用bash中關鍵字

3.只讀變量

readonly 變量名

變量定義好之後 只能被讀 不能被修改

4.接受用戶輸入

語法: read -p 提示信息 變量名

技術分享圖片

5.刪除變量

語法:unset 變量名

當為指令設置變量的時候 對於指令要用反引號括起來

2.條件判斷

語法一:

if condition

then

command1

fi

單行寫法: if[condition]; then command; fi

語法二

if condition

then

command1

else

command2

fi

語法三

if condition

then

command1

elif condition

then

command2

else

command

fi

3.運算符

1.算數運算符

技術分享圖片

原生的bash不支持簡單的數學運算 但是可以通過其他命令來實現 如expr

技術分享圖片

技術分享圖片

實例:

技術分享圖片

2.關系運算符:

技術分享圖片

3.邏輯運算符

技術分享圖片

4.字符串運算符

技術分享圖片

技術分享圖片

5.文件測試運算符(重點)

用於檢測unix/linux文件的各種屬性

技術分享圖片

技術分享圖片

技術分享圖片

4.shell腳本的附帶選項

問題 在linux shell中如何處理tail -10 access.log這樣的命令選項

步驟:

1.調用tail指令

2.系統把後續的選項傳遞給tail

3.tail先去打開指定的文件

4.取出最後10行

問題:自己寫的shell是否也可以向內置命令一樣傳遞一些選項呢

答 可以 傳遞

#./test.sh a b c

接收

在腳本中可以用“$1”來表示a “$2”來表示b 。。。。。

測試 :編寫test4.sh 傳遞a b c

技術分享圖片

技術分享圖片

linux學習-----shell基礎