中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux shell腳本相關知識

發布時間:2020-06-13 13:11:43 來源:網絡 閱讀:236 作者:宵云科技 欄目:系統運維

最近的項目中,有一個編寫linux shell腳本的任務。由于之前不是很熟悉,在這個過程中遇到了很多困難,查找了很多資料,也收獲了很多。下面宵云網絡就分享一下linux shell腳本中常用的知識總結。

1基礎語法
1.1變量
使用一個定義過的變量,只要在變量名前面加美元符號即可
your_name="qinjx"
echo $your_name
echo ${your_name}

1.2字符串
字符串可以用單引號,也可以用雙引號,也可以不用引號。

單引號
單引號里的任何字符都會原樣輸出,單引號字符串中的變量是無效的;
單引號字串中不能出現單引號(對單引號使用轉義符后也不行)。

雙引號
雙引號里可以有變量

雙引號里可以出現轉義字符

1.3傳遞參數
$# 表示執行腳本傳入參數的個數

$* 表示以一個單字符串顯示所有向腳本傳遞的參數。

如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。

$$ 表示腳本運行的當前進程ID號

$@ 與$*相同,但是使用時加引號,并在引號中返回每個參數。

如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。

$0 表示執行腳本名稱

$1 表示第一個參數

$? 顯示最后命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

1.4基本運算符
原生bash不支持簡單的數學運算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。

expr 是一款表達式計算工具,使用它能完成表達式的求值操作。

val=expr 2 + 2
條件表達式要放在方括號之間,并且要有空格,例如: [$a==$b] 是錯誤的,必須寫成 [ $a == $b ]。

乘號(*)前邊必須加反斜杠()才能實現乘法運算;

if...then...fi 是條件語句,后續將會講解。

在 MAC 中 shell 的 expr 語法是:$((表達式)),此處表達式中的 "*" 不需要轉義符號 "" 。

2常用命令
2.1printf 命令
printf 命令的語法:

printf format-string [arguments...]

printf "%-10s %-8s %-4s\n" 姓名 性別 體重kg

%s %c %d %f都是格式替代符

%-10s 指一個寬度為10個字符(-表示左對齊,沒有則表示右對齊),任何字符都會被顯示在10個字符寬的字符內,如果不足則自動以空格填充,超過也會將內容全部顯示出來。

%-4.2f 指格式化為小數,其中.2指保留2位小數。

2.2test 命令
test 命令用于檢查某個條件是否成立,它可以進行數值、字符和文件三個方面的測試。

文件表達式
-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真
-f filename 如果 filename為常規文件,則為真
-L filename 如果 filename為符號鏈接,則為真
-r filename 如果 filename可讀,則為真
-w filename 如果 filename可寫,則為真
-x filename 如果 filename可執行,則為真
-s filename 如果文件長度不為0,則為真
-h filename 如果文件是軟鏈接,則為真
filename1 -nt filename2 如果 filename1比 filename2新,則為真。
filename1 -ot filename2 如果 filename1比 filename2舊,則為真。

字符串變量表達式
If [ $a = $b ] 如果string1等于string2,則為真(字符串允許使用賦值號做等號)
if [ $string1 != $string2 ] 如果string1不等于string2,則為真
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 為空,則為真
if [ $sting ] 如果string 非空,返回0 (和-n類似)

2.3read命令
-n(不換行) -p(提示語句) -n(字符個數) -t(等待時間) -s(不回顯)
如:

read -p "Enter your name:" name
3壓縮與解壓縮
解壓:tar -zxvf FileName.tar
壓縮:tar -czvf FileName.tar DirName

3.1五個獨立命令
壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。

-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件

3.2 五個可選參數
根據需要在壓縮或解壓檔案時可選的。
-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出

3.3 一個必選參數
-f: 使用檔案名字,切記,這個參數是最后一個參數,后面只能接檔案名

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄汾县| 星子县| 旌德县| 鱼台县| 启东市| 保定市| 特克斯县| 卓资县| 文安县| 鄂温| 昭苏县| 江达县| 全南县| 蚌埠市| 辽宁省| 潞西市| 海盐县| 昭觉县| 四会市| 丰台区| 鸡西市| 通江县| 疏附县| 石台县| 定远县| 义马市| 马尔康县| 青海省| 日土县| 乌恰县| 崇礼县| 漠河县| 普兰店市| 巍山| 阆中市| 大田县| 昌图县| 彝良县| 渑池县| 延寿县| 营山县|