Shell指令碼入門

2021-08-26 20:22:20 字數 2081 閱讀 9641

一、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...