《Linux Shell腳本攻略》學習(一)

一直都在各種環境各種場合聽人提起shell,因爲不懂,所以總是一一略過,直到有一天,師兄跟我說,這個測試哪用自己跑,寫個腳本就好。這時候我就想躲到角落默默畫圈,師兄,我不是想自己跑,是我不懂寫腳本。。。那時候,心裏吹起一陣虐風,暗暗下定決心,某一天我得自己寫個腳本,然後,故事就開始了。。。哈哈!

Shell環境能使用戶與操作系統的核心功能進行交互,shell腳本是一些文件,把我們需要執行的一系列命令寫入其中,然後通過shell來執行這些腳本。

1. 簡介

Shell腳本是以*.sh作爲文件結尾,文本開頭是#!/bin/Bash#!被置於解釋器路徑之前,/bin/Bashbash的路徑。將腳本作爲命令行參數的運行方式如下:

$sh script.sh

$sh /home/path/script.sh

腳本作爲sh的命令行參數來運行,那麼腳本中的shebang行也就沒有什麼用處了。爲了使shell腳本能夠自己獨立運行,需要具備可執行權限。要使腳本獨立運行,必須使用shebang行。它通過使用位於#!之後的解釋器來運行腳本,至於腳本的可執行權限可以通過以下方式來設置

$chmod a+x script.sh

$./script.sh

另一個注意點是,在Bash中,每個命令或者命令序列都是通過使用分號或者換行符來分隔的。

$cmd1

$cmd2

=$cmd1 ; cmd2

字符#指明註釋開始的地方,bash不予以執行。

2. 終端打印

$echo “welcome to Bash”

$echo ‘welcome to Bash’

$echo welcome to Bash

無論是單引號,雙引號還是沒有引號,echo都能在終端打印文本,但是這三種方式各有副作用:

① 雙引號:打印不出“!”

② 單引號:Bash不會對單引號中的變量求值,而只是照原樣顯示。

③ 沒有引號:打印不處“;”,因爲在Bash中,“;”代表另一條命令開始。

 

趣味echo-----彩色打印

我們可以使用echo命令行進行彩色打印,玩轉終端顯示界面。每種顏色都有對應的顏色號碼,比如:重置0,黑色30,紅色31,綠色32,黃色33,藍色34,洋紅35,青色36,白色37.

背景色的設置爲重置0,黑色40,紅色41,綠色42,黃色43,藍色44,洋紅45,青色46,白色47

$echo -e “\e[1;34m this is blue text ! \e[0m”其中34m是將文本設置爲藍色,0m是將文本重置。如果沒有\e[0m,則終端顯示就會變成藍色。

 

 

$echo -e “\e[1;41m this is red background ! \e[0m”

 

3. 環境變量

pgrep可以用來查詢進程的進程號。然後通過cat命令可以查看該進程相關的環境變量。

$pgrep gedit

$cat /proc/所獲得的進程號/environ

由於環境變量通常有很長一串,所以我們可以使用下面命名進行環境變量的顯示分隔。

$cat /proc/所獲得的進程號/environ |tr ‘\n’

環境變量未在當前進程中定義,而是從父進程繼承而來,則使用export命令來設置環境變量。

$echo $PATH

$export PATH=”$PATH:/home/usr/bin”

4. 補充內容

① 識別當前的shell版本

$echo SHELL

② 修改Bash提示字符串

$cat ~/.bashrc |grep PS1

PS1=’${debian_chroot:+{$debian_chroot}\u@\h:\w\$}’

\u代表用戶名,\h代表主機名,\w代表當前工作目錄

5. 通過shell進行數學運算

Let命令可以直接執行基本的算術操作。

$let result=a+b

$echo $result

Bc命令可以進行更加高級的運算。

$echo “4 * 1.5” | bc

$echo “scale=2;3/8” | bc   #精確到小數點後兩位

$echo “obase=2;100” | bc  #100轉化爲2進制

$echo “sqrt(100)” | bc     #100開平方

$echo “10^2” | bc        #10的乘方

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章