一、shell簡介
shell指令碼,就是利用shell的命令解釋的功能,對乙個純文字的檔案進行解析,然後執行這些功能,也可以說shell指令碼就是一系列命令的集合。
shell可以直接使用在win/unix/linux上面,並且可以呼叫大量系統內部的功能來解釋執行程式,如果熟練掌握shell指令碼,可以讓我們操作計算機變得更加輕鬆,也會節省很多時間。
shell可以被稱作是指令碼語言,因為它本身是不需要編譯的,而是通過直譯器解釋之後再編譯執行,和傳統語言相比多了解釋的過程所以效率會略差於傳統的直接編譯的語言。
二、shell的應用場景
1、shell能做什麼
2、shell不能做什麼
三、shell入門demo
參考:#!/bin/bash
# 基本操作
string="hello world" # 等號前後不能有空格
echo `expr index "$string" lo` # 反引號
for i in "$*"; do # 傳入引數
echo $i
done
for i in "$@"; do
echo $i
done
# 四則運算
a=3
b=5
val=`expr $a + $b` # 運算子前後需要空格,表示式需要加expr
echo "a + b : $val"
val=`expr $a - $b`
echo "a - b : $val"
val=`expr $a \* $b` # 乘法操作需要轉義字元
echo "a * b : $val"
val=`expr $a / $b`
echo "a / b : $val"
# 關係運算子
if [ $a == $b ] # 相等
then
echo "a is equal to b"
else
echo "a is not equal to b"
fiif [ $a -lt $b ] # 小於
then
echo "a is less than b"
else
echo "a is not less than b"
fi# 字串運算子
mtext1="hello"
mtext2="world"
mtext3=$mtext1" "$mtext2 # 字串的拼接
echo $mtext3
echo $ # 輸出字串長度
echo $ # 擷取字串
# 陣列操作
array=(a b c d)
val=$ # 使用$訪問變數
echo $val
len=$ # 獲取陣列長度
echo $len
# 輸出程式
echo "hello world" > a.txt # 輸出重定向到檔案
echo `date` # 輸出系統時間
# 迴圈與判斷
for i in
do if [ `expr $i % 2` -eq 0 ] # 判斷偶數
then
echo $i
fidone
for i in $
do echo $i
if [ $i = "c" ] # 字串相等判斷
then
break # 跳出迴圈
fidone
counter=10
while [ $counter -lt 50 ]
do counter=`expr $counter + 10`
echo $counter
done
# 函式
test1()
test1
test2()
test2
result=$?
echo $result
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...
shell 指令碼入門
shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。ken thompson 的 sh 是第一種 unix shell,win...
shell指令碼入門
str wxz echo 輸出 3 提取子字串 以下例項從字串第 2 個字元開始擷取 4 個字元 string the shell script is great echo 輸出 he s查詢子字串 查詢字元 i 或 s 的位置 string runoob is a great company ec...