linux學習-----shell基礎
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基礎