定義數組
array=(1 2 3)
echo ${array[*]} [0]也可以
或者
array[0]=1 分別定義
array=([1]=one [2]=two [3]=three)
可以從0開始 也可以從1開始 從1開始就沒有0的值
或者動態數組
array($(echo {a..z}))
touch /array/{1..3}
array=($(ls /array))
數組的打印和輸出
echo ${array[0]} 打印第一個
echo ${array[*]} 打印所有
echo ${array[@]} 打印所有
echo ${#array[@]} 統計個數 最大限度保持原意“”下
echo ${#array[*]} 統計個數 所有元素變爲字符串“”下
echo ${array[@]:1:2} 打印1-2
${!array[*]}打印數組下標
替換 echo ${array[@]/1/b} 第一個替換-->b
刪除
unset array
unset array[0]
利用for循環打印字母個數不大於6的單詞
#!/bin/bash
for i in I am westos teacher welcome to westos training class
do
[ ${#i} -lt 6 ]&&echo -n "$i "
done
echo
或者
#!/bin/bash
array=(I am westos teacher welcome to westos training class)
for i in ${array[@]}
do
[ ${#i} -lt 6 ]&&echo -n "$i "
# [ $i -eq `${array[@]}` ]
done
echo
自動換行
或者
for ((i=0;i<${#array[*]};i++))
do
[ ${#arr[i]} -lt 6 ]&&echo -n "${array[i]} "
done
echo
#########隨機數
for循環在/westos目錄下批量創建10個html文件
每個文件需要包含是個隨機小寫字母+固定字符串westos
echo $RANDOM 0-32767
openssl rand -base64 40 隨機64編碼情況下的40位字符串
#!/bin/bash
Path=/westos #不能全大寫和系統衝突
[ -d "$Path" ]|| mkdir -p $Path
for i in `seq 10`
do
random=$(opensll rand -base64 40|sed 's/[^a-z]//g'|cut -c 1-10)
touch $Path/westos/${random}_westos.html
echo ${random}_westos.html success
done
seq -w 100 會自動001 010補齊
#!/bin/bash
for i in `seq -w 10`
do
random=$(echo "westos$RANDOM" | md5sum |cut -c 1-10)
useradd westos$i &>/dev/null
[ `echo $?` -eq 0 ]&&
echo $random |passwd --stdin westos$i&&echo westos$i added passwd is $random&&echo westos$i added passwd is $random >> /etc/westospass||echo westos$i exists.
done
#!/bin/bash
for i in `seq -w 10`
do
random=$(echo "westos$RANDOM" | md5sum |cut -c 1-10)
useradd westos$i &>/dev/null
if [ `echo $?` -eq 0 ];then
echo $random |passwd --stdin westos$i
echo westos$i added passwd is $random
echo westos$i added passwd is $random >> /etc/westospass
else
echo "westos$i exists."
fi
done
md5加密
md5sum XXX > file
md5sum -c file 檢測校驗碼
例如
echo "westos$RANDOM" | md5sum |cut -c 1-10