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 命令與檔案補...