認識與學習BASH 中

2022-07-16 10:36:11 字數 2224 閱讀 8145

1.在設定變數中:單引號與雙引號的最大不同:雙引號能保有變數的內容,單引號僅能是一般字元

2.反單引號(`)作用:在一串指令中,在『之內的指令將會被先執行,其結果將作為外部的輸入資訊。

locate指令可以列出所有的相關檔案檔名。ls -l `locate crontab`

老實來說,使用【version=$(uname -r)】來取代【version=`uname -r`】比較好,因為反單引號大家老是打錯或者看錯。

3.若經常去的工作目錄名稱為:【/cluster/server/work/taiwan_2005/003/】,如何進行該目錄的簡化(因為如此一來變換目錄很麻煩):

(1) work="/cluster/server/work/taiwan_2005/003/"

(2) cd $work

4.env觀察環境變數與常見環境變數說明,是environment(環境的)簡寫

我們可以透過($random)來取隨機數,在bash的環境下,這個random變數的內容,介於0~32767之間。echo $random時,系統就會主動的隨機取出乙個介於0~32767的數值。

用set觀察所有變數(包含環境變數與自定義變數)

ps1:提示字元的設定

5.「$」本身也是乙個變數,代表「目前這個shell的執行緒代號」。即pid。

我們想知道shell的pid,可用"echo $$"即可

6.「?」(代表關於上個執行指令的回傳值),一般來說,如果成功的執行該指令,則會回傳乙個0值,如果執行過程中發生錯誤,就會以非0數值來取代。

echo $shell    //顯示/bin/bash

echo $?           //顯示0

export:自定義變數轉成環境變數。

子程式僅會繼承父程式的環境變數,不會繼承父程式的自定義變數。此時若想子程式繼承父程式的變數,必須:「export 變數名稱」  

如果僅下達export而沒有接變數,那將會把所有的「環境變數」都繡出來

檢視linux系統支援多少語言:「locale -a」

在不同的書籍中會談到全域性變數與區域性變數,基本上你可以這樣對待:

環境變數 = 全域性變數

自定義變數 = 區域性變數

6.讀取來自鍵盤輸入的變數,用read這個指令:

格式:read [-pt] var

選項與引數:-p:後面可接提示字元

-t:後面可接等待的[秒數]

例:1).「read atest」   //游標會等待你的輸入,輸入「this is a test 」

「echo $atest」   //顯示

「this is a test 」    列印變數內容

2).read -p "please keyin your name:" -t 30 named   //提示使用者30秒內輸入自己的大名,將輸入的字串作為變數named的內容

please keyin your name: //注意,有提示字元,後輸入「vbird tsai」

echo $named  //顯示vbird tsai

read 之後不加任何引數,直接加上變數名稱,則底下會主動出現乙個空白行等待你的輸入

如果加上-t後面接秒數,則在秒之內沒有任何動作時,該指令會自動略過

declare/typeset:宣告變數的型別

格式:declare [-aixr] var

選項和引數:-a:將後面名為var的變數定義成陣列(array)型別

-i:將後面名為var的變數定義為整數數字型

-x:將後面的變數變成環境變數,與export功能類似

-r:將變數變成readonly型別,該變數不可被更改內容,也不能unset

注:如果declare後面並沒有接任何引數,則bash會主動的將所有的變數名稱與內容通通叫出來

sum=100+300+50   //定義變數

echo $sum    //顯示結果為100+300+50

declare -i sum=100+300+50

echo $sum    //顯示結果為450

在預設情況下,bash對於變數的規則:

(1)變數型別預設為「字串」,若不指定變數型別,則1+2為乙個「字串」

(2)bash環境中的數值運算,預設最多僅能到達整數形態,所以1/3=0

declare -x sum  //將sum程式設計環境變數

declare +x sum  //將-變成+可以進行[取消]動作

declare -p sum 可以單獨列出變數的型別

認識與學習BASH

應用程式在最外面,就如同雞蛋的外殼一樣,因此被稱呼為shell 殼程式 其實殼程式的功能只是提供作業系統的乙個介面。應用程式 作業系統 系統呼叫 核心 硬體linux預設的shell就是bash tab 接在一串指令的第乙個字的後面,則為命令補全 接在一串指令的第二個字以後時,則為檔案補齊 命令別名...

認識與學習bash

我們知道,管理整個計算機硬體的其實是作業系統的核心 kernel 而核心一般是需要保護的,因此我們一般使用者只能通過shell來與核心通訊,讓核心完成我們想要完成的工作。那麼系統有多少shell可用呢?為什麼我們要用shell?我們必須通過 shell 將我們輸入的命令與核心通訊,好讓核心可以控制硬...

Linux Shell 認識與學習bash

1 認識bash這個shell bash linux使用的shell版本。我們通過shell將我們輸入的命令與核心通訊,好讓核心可以控制硬體來正確無誤地工作。2 bash的優點 1 命令記憶能力 通過按上下鍵就可以找到前 後乙個輸入的命令 1000個 好處就是可以查詢曾經做過的操作。2 命令與檔案補...