Shell程式設計基礎學習之二:變數的基本認知

趙明威發表於2014-09-15

shell指令碼編寫:

一般開始都是:

#!/bin/bash

通常設定指令碼許可權:使得指令碼可以獨立執行;

chmod a+x sh01.sh

這個指令碼可以以下列方式執行

執行指令碼:

sh sh01.sh

可以使用完整路徑===================

技巧1:每個命令或者是命令序列是通過使用分好或者換行符來分割的

如:

cmd1;cmd2

等同於:

cmd1
cmd2

終端列印

[hadoop@hadoop scripts]$ echo Welcome to Bash
Welcome to Bash

echo 中轉義換行符

echo -e "包含轉義字元"
echo -e "1\t2\t3"
[hadoop@hadoop scripts]$ echo -e "1\t2\t3"
1    2    3

列印彩色輸出:

每種顏色都有對應的顏色碼:比如:

重置=0,黑色=30,,紅色31,綠色=32,黃色=33,藍色=34,洋紅=35,青色=36,白色=37

[hadoop@hadoop scripts]$ echo -e "\e[1;31m This is red text \e[0m"
 This is red text

\e[1;31將顏色設定為紅色,\e[0m 將顏色重置回

背景顏色

經常使用的顏色碼是:

重置=0,紅色=41,綠色=42,紅色=43,

藍色=44,洋紅=45,青色=46,白色=47.

  echo -e "\e[1;42m This is green Background  \e[0m

=========================

玩轉環境變數:

預備知識:

  獲得字串的長度
 length=${#var}
[hadoop@hadoop scripts]$ var=12345678901234567890
[hadoop@hadoop scripts]$ echo ${#var}
20

檢查是否為超級使用者:UID

UID是一個重要的環境變數,可以用於檢查當前指令碼是否以超級使用者

執行還是以普通使用者的身份執行:

if 後面必須帶上空格,結尾為fi

#!/bin/bash
PATH=$path
export PATH
echo $path
echo $UID
if [ $UID -ne 0 ];then
echo Non root user.Please run as root.
else
echo "Root user"
fi

執行結果:

[hadoop@hadoop scripts]$ sh sh04.sh 
/bin:/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:~/bin
500
Non root user.Please run as root.

相關文章