溫馨提示×

溫馨提示×

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

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

Shell位置參數(shù)怎么使用

發(fā)布時間:2021-12-17 16:42:46 來源:億速云 閱讀:152 作者:iii 欄目:云計算

本篇內(nèi)容主要講解“Shell位置參數(shù)怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Shell位置參數(shù)怎么使用”吧!

shell編程

shell變量的特點?

——弱類型

——默認字符串型(字符串型是不能直接進行加減乘除數(shù)值運算,因此需要進行數(shù)值運算時,需要將shell變量聲明為數(shù)值型,不要使用默認值)

——可以把指令寫到一個文件中,shell對這個腳本操作就可以一次執(zhí)行多個操作。但是如果一條條執(zhí)行會很麻煩,shell支持條件控制、循環(huán)嵌套特性。

說明:

指定解析器

一定要在第一行執(zhí)行解析器,我們使用的是bash,當然也可以使用python、ruby寫腳本。

Shell位置參數(shù)怎么使用

語句即命令

Shell位置參數(shù)怎么使用

我們在學會一個命令時,放在命令行中就是命令,放到腳本中就是一條語句。

腳本中命令可以直接羅列,也可以包含到函數(shù)之中,通過呼叫函數(shù)名執(zhí)行:

Shell位置參數(shù)怎么使用

命令對空格敏感,腳本語句對空格變態(tài)地敏感!

位置參數(shù)

腳本語言:

Shell位置參數(shù)怎么使用

Shell位置參數(shù)怎么使用

引用第一個sh時,使用$0($表示位置)。$#代表一共多少個參數(shù)。

操作:

Shell位置參數(shù)怎么使用

腳本不在當前shell執(zhí)行

我們在執(zhí)行任意一個腳本程序的時候,并不是在這個shell執(zhí)行,而是新開一個shell,雖然我們看不到這個shell。

操作:

Shell位置參數(shù)怎么使用

注:雖然得到了腳本的目的,但是當前目錄并未改變,也就是說不是在這個shell中執(zhí)行的操作。

其中vim中語句為:

Shell位置參數(shù)怎么使用

如果想在當前shell執(zhí)行語句:

Shell位置參數(shù)怎么使用

注:當前工作目錄已經(jīng)變了。

declare命令

——用來聲明變量類型

格式:

Shell位置參數(shù)怎么使用

Shell位置參數(shù)怎么使用

注:在這里要格外注意,我們需要添加一個聲明時用“-”,而不是“+”。

舉例:

Shell位置參數(shù)怎么使用

把變量聲明為數(shù)值型

Shell位置參數(shù)怎么使用

注:這里我們可以明確看出,在默認情況下變量為字符型,因此c默認輸出為11+22,如果想想要輸出加法運算的結果,則需要將c聲明為int類型(a、b不需要聲明為int,因為聲明c后,在進行a+b運算時會自動將后面進行轉化)。

可以查看變量屬性:

Shell位置參數(shù)怎么使用

聲明數(shù)組變量

Shell位置參數(shù)怎么使用

操作:

Shell位置參數(shù)怎么使用

注:在查看數(shù)組的時候,$后面需要添加{},在不加下標,直接以數(shù)組名給出時默認顯示第一個數(shù)組元素,加上*時,顯示全部。

聲明環(huán)境變量

Shell位置參數(shù)怎么使用

注:環(huán)境變量的聲明實際上也是declare命令。-X表示聲明為環(huán)境變量。如果這樣操作:

Export aa,即表示把aa聲明為環(huán)境變量,則在執(zhí)行bash-->set這兩個指令時只能看到aa,不能看見bb。Bb只會出現(xiàn)在當前目錄。

聲明變量只讀屬性

Shell位置參數(shù)怎么使用

操作:

Shell位置參數(shù)怎么使用

注:這里不能修改和刪除。甚至我們執(zhí)行撤銷屬性都不可以。在實際應用中要格外注意,如果將制度屬性的變量加到某一系統(tǒng)環(huán)境變量中在開機時會自啟動,這樣會出錯。我們這里設置的是臨時環(huán)境變量,系統(tǒng)重啟后消失。因此,只讀屬性并不是很好用,實際中盡量少用。

查看變量屬性

Shell位置參數(shù)怎么使用

數(shù)值運算方式

數(shù)值運算方法1

Shell位置參數(shù)怎么使用

注:這種方法需要敲很多指令,麻煩。

方法2:expr或let數(shù)值運算工具

Shell位置參數(shù)怎么使用

操作:

Shell位置參數(shù)怎么使用

注:在沒有空格的時候不會進行直接加的運算,而是當做字符串運算。

Shell位置參數(shù)怎么使用

方法3:”$((運算符))”或”[運算符]”

Shell位置參數(shù)怎么使用

注:推薦這種寫法”$((運算符))”

區(qū)分以下的方式:$(運算符)——它的作用是把系統(tǒng)命令先執(zhí)行,再把命令的結果賦予變量。

Shell位置參數(shù)怎么使用

Shell位置參數(shù)怎么使用

運算符

Shell位置參數(shù)怎么使用

注:優(yōu)先級越高數(shù)值越大。實際中用到的數(shù)值運算并不多。

變量測試

簡介

只針對shell語言有效,比較復雜。在實際中可以用其他方式取代,格式復雜,語法簡單,了解即可。

Shell位置參數(shù)怎么使用

注:在優(yōu)化時用到,比如php寫的網(wǎng)頁腳本,訪問量很大,就需要優(yōu)化。在實際中shell一般是管理員用(因為我們的目的就是辦公自動化),所以要求邏輯要清晰,而這種方式并不是很適用。

例子1:測試x=${y-新值}

Shell位置參數(shù)怎么使用

Shell位置參數(shù)怎么使用

循環(huán)控制

腳本

Shell位置參數(shù)怎么使用

 Shell位置參數(shù)怎么使用

但是這個腳本有局限性,就是引入另外一個文件再執(zhí)行這個腳本時不起作用,也就是說這個文件只針對于某一個特定情況。需要改進:

在tab上方有導引號``,如果在vim中輸入命令:形如’pwd’,導引號就能輸出命令的輸出。

Shell位置參數(shù)怎么使用

這樣腳本就具有通用型了。

遠程執(zhí)行

每次都連接服務器還是有點麻煩,我們可以在本地執(zhí)行一個腳本,直接把服務器上的事辦了。

Shell位置參數(shù)怎么使用

注:引號中的語句就會在服務器中執(zhí)行。

確認執(zhí)行:

Shell位置參數(shù)怎么使用

默認是y。

但是如果有一天我們刪除了其中一個很有用的文件,比如jim.txt再執(zhí)行腳本時:

 Shell位置參數(shù)怎么使用

Shell位置參數(shù)怎么使用

這時會提示是否刪除刪除這個腳本,這種提示功能非常好。我們可以選擇no不刪除。

用其他語言寫腳本

Bash的語法偏機器思維。比較晦澀。

到此,相信大家對“Shell位置參數(shù)怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

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

AI