實例:shell
#!/bin/bash數組
# delete importnewhouse data logs shellbash
cd /www/autopublish.news.fang.com/auto_publishnews/logs/網站
for((i=1;i<100;i++));spa
doorm
n="20151106importnewhousedata.log.$i"ip
sudo rm $nci
if [ 0 -eq $? ]
字符串
then
string
echo "delete $i ok !"
else
echo "delete $i failed"
fi
done
************** for 循環 *************
來自網站
一、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done
二、在shell中經常使用的是 for i in $(seq 10) /fro i in $(seq 1 10)
三、for i in `ls`
四、for i in ${arr[@]}
五、for i in $* ; do
六、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do
七、for i in f1 f2 f3 ;do
八、for i in *.txt
九、for i in $(ls *.txt)
for in語句與` `和$( )合用,利用` `或$( )的將多行合爲一行的缺陷,實際是合爲一個字符串數組
十、LIST="rootfs usr data data2"
for d in $LIST; do
用for in語句自動對字符串按空格遍歷的特性,對多個目錄遍歷
十一、for i in {1..10}
十二、for i in stringchar {1..10}
1三、awk 'BEGIN{for(i=1; i<=10; i++) print i}'
****************** seq 的用法**************
用於產生從某個數到另一個數之間的全部整數
例一:
# seq 1 10
結果是1 2 3 4 5 6 7 8 9 10
例二:
#!/bin/bash
for i in `seq 1 10`;
do
echo $i;
done
或者用
for i in $(seq 1 10)
也能夠
seq
-f, --format=FORMAT use printf style floating-point FORMAT (default: %g)
-s, --separator=STRING use STRING to separate numbers (default: /n)
-w, --equal-width equalize width by padding with leading zeroes
-f 選項 指定格式
#seq -f"%3g" 9 11
9
10
11
% 後面指定數字的位數 默認是"%g",
"%3g"那麼數字位數不足部分是空格
#sed -f"%03g" 9 11 這樣的話數字位數不足部分是0
% 前面制定字符串
seq -f "str%03g" 9 11
str009
str010
str011
-w 指定輸出數字同寬 不能和-f一塊兒用
seq -w -f"str%03g" 9 11
seq: format string may not be specified when printing equal width strings
seq -w 98 101
098
099
100
101
輸出是同寬的
-s 指定分隔符 默認是回車
seq -s" " -f"str%03g" 9 11
str009 str010 str011
要指定/t 作爲分隔符號
seq -s"`echo -e "/t"`" 9 11
指定/n/n做爲分隔符號seq -s"`echo -e "/n/n"`" 9 1119293949596979899910911獲得的是個錯誤結果不過通常也沒有這個必要 它默認的就是回車做爲分隔符