目錄
Shell 簡介
Shell 腳本
Shell 腳本運(yùn)行
Shell 變量
1、創(chuàng)建變量和賦值
2、引用變量
3、修改變量的值
4、只讀變量
5、刪除變量
6、環(huán)境變量
Shell 字符串操作
1、拼接字符串
2、字符串長度
3、字符串截取
Shell 數(shù)組
1、創(chuàng)建數(shù)組
2、訪問數(shù)組元素
shell 傳遞參數(shù)
1、位置參數(shù)
2、特殊變量
Shell echo命令
1、打印文本消息
2、顯示變量值
3、打印多行文本
4、輸出特殊字符
5、輸出到文件
6、追加到文件
Shell 簡介
Shell 是一個(gè)用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設(shè)計(jì)語言。
Shell 是指一種應(yīng)用程序,這個(gè)應(yīng)用程序提供了一個(gè)界面,用戶通過這個(gè)界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。
Shell 腳本(shell script),是一種為 shell 編寫的腳本程序,shell 和 shell script 是兩個(gè)不同的概念。
Shell 腳本
打開文本編輯器(可以使用 vi/vim 命令來創(chuàng)建文件),新建一個(gè)文件 test.sh,擴(kuò)展名為 sh(sh代表shell),擴(kuò)展名并不影響腳本執(zhí)行,見名知意就好,如果你用 php 寫 shell 腳本,擴(kuò)展名就用 php 好了。
#!/bin/bash
echo "Hello World !"
#! 是一個(gè)約定的標(biāo)記,它告訴系統(tǒng)這個(gè)腳本需要什么解釋器來執(zhí)行,即使用哪一種 Shell。
echo 命令用于向窗口輸出文本。
Shell 腳本運(yùn)行
1、作為可執(zhí)行程序
chmod +x ./test.sh #使腳本具有執(zhí)行權(quán)限
./test.sh #執(zhí)行腳本
2、作為解釋器參數(shù)
/bin/sh test.sh
/bin/php test.php
Shell 變量
變量是一種存儲和操作數(shù)據(jù)的基本方式。在Shell腳本中,你可以創(chuàng)建、賦值、修改和引用變量。
只能使用英文字母、不能以數(shù)字開頭、中間不能有空格、可以使用下劃線、不能使用標(biāo)點(diǎn)符號、避免使用Shell關(guān)鍵字。
1、創(chuàng)建變量和賦值
name="John"
age=25
2、引用變量
要引用變量的值,可以使用$符號。
echo $name
echo "My name is $name"
3、修改變量的值
可以使用賦值語句來修改變量的值。
age=30
4、只讀變量
你可以使用 readonly 命令將變量設(shè)置為只讀,這意味著你不能修改它的值。
readonly age
5、刪除變量
使用 unset 命令可以刪除一個(gè)變量。
unset age
6、環(huán)境變量
當(dāng)談到環(huán)境變量時(shí),你可以將其想象成是一種全局變量,對于整個(gè)操作系統(tǒng)或進(jìn)程而言都是可見的。環(huán)境變量存儲了一些配置信息、路徑和其他重要的數(shù)據(jù),它們可以被不同的程序和腳本訪問和使用。
環(huán)境變量是在整個(gè)Shell會(huì)話中都可用的特殊變量。你可以使用 export 命令將一個(gè)變量升級為環(huán)境變量。
export MY_VARIABLE="Hello"
Shell 字符串操作
1、拼接字符串
使用連接操作符 . 可以將兩個(gè)字符串拼接在一起。
greeting="Hello"
name="Alice"
message=$greeting" "$name
echo $message
或者使用變量引用的方式。
message="${greeting} ${name}"
2、字符串長度
使用 ${#string} 可以獲取字符串的長度。
text="Hello, World!"
length=${#text}
echo "字符串長度為:$length"
3、字符串截取
使用 ${text:7:5} 將會(huì)從第7個(gè)字符開始(從0開始計(jì)數(shù)),截取5個(gè)字符,得到的子字符串是 "World"。
text="Hello, World!"
substring=${text:7:5}
echo "截取的子字符串:$substring"
Shell 數(shù)組
1、創(chuàng)建數(shù)組
可以使用括號來創(chuàng)建數(shù)組,并在括號內(nèi)用空格分隔數(shù)組元素。
fruits=("apple" "banana" "cherry")
2、訪問數(shù)組元素
通過索引來訪問數(shù)組元素,索引從0開始計(jì)數(shù)。
echo ${fruits[0]} # 輸出:apple
echo ${fruits[1]} # 輸出:banana
echo ${fruits[2]} # 輸出:cherry
shell 傳遞參數(shù)
1、位置參數(shù)
# 腳本名:myscript.sh
echo "第一個(gè)參數(shù)是: $1"
echo "第二個(gè)參數(shù)是: $2"
執(zhí)行
./myscript.sh arg1 arg2
輸出
第一個(gè)參數(shù)是: arg1
第二個(gè)參數(shù)是: arg2
2、特殊變量
除了位置參數(shù),還有一些特殊變量用于獲取有關(guān)腳本自身和其環(huán)境的信息,$0:腳本名稱、$#:傳遞給腳本的參數(shù)個(gè)數(shù)、$@:所有參數(shù)的列表、$*:所有參數(shù)的列表,作為單個(gè)字符串、$?:上一個(gè)命令的退出狀態(tài)。
# 腳本名:special.sh
echo "腳本名:$0"
echo "參數(shù)個(gè)數(shù):$#"
echo "參數(shù)列表:$@"
echo "參數(shù)列表(作為單個(gè)字符串):$*"
echo "上一個(gè)命令的退出狀態(tài):$?"
執(zhí)行
./special.sh arg1 arg2 arg3
輸出
腳本名:./special.sh
參數(shù)個(gè)數(shù):3
參數(shù)列表:arg1 arg2 arg3
參數(shù)列表(作為單個(gè)字符串):arg1 arg2 arg3
上一個(gè)命令的退出狀態(tài):0
Shell echo命令
1、打印文本消息
echo "Hello, World!"
2、顯示變量值
name="Alice"
echo "My name is $name"
3、打印多行文本
echo "Line 1"
echo "Line 2"
4、輸出特殊字符
\t:代表制表符(Tab鍵)、\n:代表換行符;
echo "New\t line\n"
5、輸出到文件
這將把 "Hello, File!" 輸出到名為 output.txt 的文件中,如果文件存在則覆蓋內(nèi)容。文章來源:http://www.zghlxwxcb.cn/news/detail-672673.html
echo "Hello, File!" > output.txt
6、追加到文件
這將把 "More content" 追加到 output.txt 文件末尾。文章來源地址http://www.zghlxwxcb.cn/news/detail-672673.html
echo "More content" >> output.txt
到了這里,關(guān)于Shell 編程:探索 Shell 的基本概念與用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!