>只收集前面命令的正確輸出
2>只收集前面命令的錯誤輸出
&>收集前面命令的正確和錯誤輸出 (垃圾輸出常用)
&>/dev/null輸出到黑洞文件內
新建腳本頭部必須帶 #!/bin/bash聲明
1.創建用戶設置密碼
useradd 用戶名 &>/dev/null
echo 密碼 | passwd --stdin 用戶名 &>/dev/null
2.為腳本加權限
chmod +x /root/user.sh
3.read 可產生交互,將鍵盤輸入內容賦值給變量
read -p "請輸入創建用戶名" 變量
4.如果變量已經存在,那就相當於給變量重新賦值
5.變量不能以數字開頭,也不要用關鍵字和特殊字符
6.取變量值 一般用 :$變量
7.查看變量 echo $變量
8.$()將命令結果作為參數
9.-d 查目錄是否存在
10.-f 查文件是否存在
11. 整數對比
-gt 大於;-lt小於 ; -eq 等於 ; -ne 不等於; -ge大於等於 ;-le小於等於
12. 字符串對比
== 相同 !=不同
13.if 格式
#!/bin/bash
if [條件測試] ; then
命令1序列
else
命令2序列
fi
if是如果,then是那么,else否則,fi結尾
解釋就是 如果條件測試成立,那么執行命令1,否則執行命令2,fi結束
14. for循環語句 (通常用在可以數的清的循環內)
格式
for i in
do
done
例子: 1到50的數字相加的結果是多少
#1.列表for循環{}中可以是一個list
sum=0
for i in {1..50}
do #循環開始
let "sum+=i" #(sum=sum+i)
done #循環結束
echo $sum
do #循環開始
let "sum+=i" #(sum=sum+i)
done #循環結束
echo $sum
#2.利用seq外設命令
sum1=0
for i in $( seq 1 50 ) #也可寫作`seq 1 50`
do
let "sum1+=i"
done
echo $sum1
sum1=0
for i in $( seq 1 50 ) #也可寫作`seq 1 50`
do
let "sum1+=i"
done
echo $sum1
#3.跟其他語言相似的for循環
sum2=0
for (( i=1;i<=50;i++ )) # 認識C語言
do
let "sum2+=i"
done
echo $sum2
sum2=0
for (( i=1;i<=50;i++ )) # 認識C語言
do
let "sum2+=i"
done
echo $sum2
15. while : (無限循環) 數不清的循環時用while
格式
while
do
done