2021 3 18學習筆記

2021-10-22 12:41:56 字數 2665 閱讀 8686

顯示本地變數

echo $變數名 或echo $(變數名)

eg: #num=2

#echo「this is $numnd」

#num=2

#echo 「this is $nd」

eg2要將name的內容多出「yes」,兩種方法

#name="$name"yes

#name=$yes

eg3:

在子shell下變數的作用範圍

#aa=11

#bash (bash開啟乙個子shell)

#echo $aa (輸出aa,輸出不了,子shell裡沒有)

#aa=22

#echo $aa

#22#exit (退出子shell)

#echo $aa

#11eg4

釋放本地變數nuset

格式 :unset 變數名

\env 檢視環境變數

環境變數在shell指令碼開始執行的時候就定義了

環境變數也稱為系統變數,它與本地變數的差別時可以用於所有使用者程序

ps1:主提示符,在特權使用者下,預設的主提示符是#;在普通使用者下,預設的主提示符是$

ps1變數特殊符號

ps1=『[\n@\h\w]\$』

\n:當前使用者的賬號名稱

\h:僅取主機名的第乙個名字

\w:工作目錄名稱,僅列出最後乙個目錄名

\$:提示符,如果是root使用者就是#否則就是$

#path:決定了shell將到哪些目錄中尋找命令或程式,path的值是一系列目錄

linux修改了path變數

只想對本次登入有效的話

path=$path《路勁1>,《路勁2>…

永久有效在bashrc裡面加上上面這句話

6、export

用export可以把本地變數設定為環境變數

格式: export 變數名

也可以在給變數賦值的同時使用export命令,

export 變數名=變數值(若等號兩邊有空格,則必須要用引號括起來)

特殊變數

某些變數在一開始執行指令碼時就被設定且不再改變,他們就被稱為特殊變數

使用者只能根據shell使用這些變數而不能重新定義它們,所有特殊變數都是由$和另乙個符號組成

$#:儲存shell程式中命令列引數的個數

$?:儲存shell中上乙個程式的返回值(0表示執行成功,非0錯誤)

$[1-n]:儲存地[1-n]個命令列引數

$*:儲存shell指令碼的所有引數(不包含$0)

$$:儲存shell指令碼的程序號(pid)

練習

設計指令碼 ***要求如下

當輸入bash ./***2012 回車顯示2023年頭三個月的月曆

shift命令

可以移動命令列引數。執行shift後,把每個引數向左移動乙個位置,$2 $3…依次變為 $1 $2 …, 原來的 $1丟掉

引用符號

在bash中,許多字元有特殊含義如果希望忽略某些字元含義可以使用一種「引用」通知shell暫時忽略被引用字元的特殊含義,將其作為普通字元處理

~:使用者主目錄

`:(不會被雙引號剝奪含義)命令替換符,跟引用作用相反,反引號內的字元被shell解釋命令符,在執行shell時,首先執行該命令,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。

#:注釋

$:變數替換的代表符號

&:將命令在後台執行

*:萬用字元(可以代表任何字元)

(:開始子shell

):結束子shell

:轉義符(不會被""剝奪含義)

|:管道

?:萬用字元(代表任何單一字元)

[>:](ps:沒有中括號) 輸出重物件

<:>

':(單引號) 不具有變數置換的功能

「:(雙引號)具有變數置換的功能

/:路徑

;:頁面分隔符

在shell中的三種引用符號

轉義符:

單引號:』

雙引號:"

1、轉義符:\

\放在shell特殊字元之前,則shell忽略該字元的特殊含義
用這種方式時,必須在每乙個欲忽略其特殊含義的特殊字元前加\字元

2、單引號:『

將字元放在一隊單引號之間,則單引號內的所有字元的特殊含義都被忽略,只作為普通字元解釋

3、雙引號:」

雙引號用括住的內容,將被視為單一字串。為防止萬用字元擴充套件,但允許變數擴充套件。

命令替換符 「 `」(反引號)的作用跟引用字元的作用相反

反引號括起來的字元被shell解釋為命令列,在執行shell時,首先執行該命令列,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分

2021 3 18學習總結

1 異常 0程式報錯當程式出現了異常,程式直接結束 2 異常捕獲異常捕獲就是讓程式在出現異常的時候不崩潰還可以接著往後執行 3.異常捕獲其他語句 4.finallyfinally後面的 段不管 獲的 怎麼執行,都會執行 就算try後面的 出現異常沒有 獲。導致程式崩潰,finally後面的 也會執行...

2021 3 18 程式設計

給定乙個字串s,找出至多包含k個不同字元的最長子串t。示例 輸入 s eceba k 2 輸出 3 解釋 則t為 ece 所以長度為3 使用滑動視窗 include include include include include using namespace std intlengthoflong...

2021 3 18linux作業系統學習筆記

顯示本地變數 echo 變數名或 echo eg2要將name的內容多出 yes eg3在子shell下變數的作用範圍 aa 11 bash echo aa 輸出無 aa 22 echo aa 輸出22 exit退出dash echo aa輸出11 eg4釋放本地變數用unset 環境變數 環境變數...