bash弱類型:
變量=值
任何變量無需事先聲明,可直接使用
值默認都是字符型
a=abc, b=3
a=3
賦值:
a=4
加強型賦值:
+=, -=, *=, /=, %=
a=$[$a+1] 至關於 let a+=1linux
自加:var++, var--, ++var, --var
形如,此爲字串型賦值 export PATH=$PATH:/usr/local/apache/binapache
unset: 撤消變量
在bash進程退出時,變量會自動銷燬
算術運算:bash會對數字執行隱式的類型轉換
let VAR_NAME=Integer_Value
declare -i Var_Name=Integer_Value 定義一個整形變量
declare: declare [-aAfFilrtux] [-p] [name[=value] ...]
Set variable values and attributes.
-i to make NAMEs have the `integer' attribute
操做符:
+, -, *, /, %, **bash
雙目運算符:須要至少兩個操做數來參與數據結構
bash的算術運算的方式:
let Var_Name=EXPRESSION(表達式) 命令,須要用命令引用來取結果
[root@linux_basic you]#num1=9
[root@linux_basic you]#num2=2
[root@linux_basic you]#let res=$num1*$num2
[root@linux_basic you]#echo $res
18
[root@linux_basic you]#let num1=$num1+8
[root@linux_basic you]#echo $num1
17
[root@linux_basic you]#echo $num1
22
[root@linux_basic you]#let num1/=4 結果默認不保留小數位
[root@linux_basic you]#echo $num1
5
[root@linux_basic you]#let num1--
[root@linux_basic you]#echo $num1
4
$[EXPRESSION]
$((EXPRESSION)) 推薦使用
命令:expr ARG1 OP ARG2 是一個獨立的命令,須要用命令引用來取結果
[root@linux_basic you]#expr 1 + 3
4
[root@linux_basic you]#expr 1+5
1+5進程
for循環:
新建10個用戶:tuser601-tuser610
useradd $userNameip
for Var in LIST; dofor循環
for userName in tuser601 tuser602 tuser603; do
useradd $userName
done變量
for i in {601..610}; do
useradd tuser$i
done循環
遍歷LIST元素,遍歷結束,循環退出;遍歷
bash中的字串鏈接:
變量引用後方跟直接字串時,變量名要加{}
[root@linux_basic you]#echo "$(num1)nu"
-bash: num1: command not found
nu
[root@linux_basic you]#echo $num1
4
[root@linux_basic you]#echo "${num1}nu"
4nu
求100之內全部正整數的和:
declare -i sum=0
sum+=1, 0+1
sum+=2, 0+1+2
sum+=3
sum+=4
...
sum+=100
declare -i sum=0
for i in {1..100}; do
let sum+=$i
done
echo $sum
練習:寫一個腳本,顯示當前系統上有附加組的用戶的用戶名;並統計共有多少個此類用戶;
for userName in `cut -d: -f1 /etc/passwd`; do
id $userName |
# egrep '[^:]$' /etc/group | cut -d: -f4 | sort -u | egrep -o '[[:alnum:]]*' | sort -u
寫一個腳本,建立十個用戶tuser401, tuser410
數據結構是組織數據的方式
bash scripts.sh 執行,是經過給bash傳遞參數