10.1 循环
for arg in [list]/`command`
do
command
//set --$arg #解析变量 并且设置位置参数, 下面的代码可以使用 $1 $2访问arg. -- 防止 arg为空或以-开头的报错
done
// list 可以包含通配符
# 如果list中包括*/? 会进行文件名扩展,file globbing
# 没有in [list] 则循环操作$@,从命令行传递给脚本的参数列表
类似C语言更个
for ((a=1;a <= LIMIT;a++)) # LIMIT前边没有$
10.2 嵌套循环
10.3 循环控制 break,continue
10.4 case and select
case $varibale in
$condition1)
command
;;
$condition2)
comand
;;
*)
default_command
;;
esac
for arg in [list]/`command`
do
command
//set --$arg #解析变量 并且设置位置参数, 下面的代码可以使用 $1 $2访问arg. -- 防止 arg为空或以-开头的报错
done
// list 可以包含通配符
# 如果list中包括*/? 会进行文件名扩展,file globbing
# 没有in [list] 则循环操作$@,从命令行传递给脚本的参数列表
类似C语言更个
for ((a=1;a <= LIMIT;a++)) # LIMIT前边没有$
10.2 嵌套循环
10.3 循环控制 break,continue
10.4 case and select
case $varibale in
$condition1)
command
;;
$condition2)
comand
;;
*)
default_command
;;
esac
#!/bin/bash
SUCCESS=0
FAILURE=1
isalpha()
{
if [ -z $1 ]
then
return $FAILURE
fi
case "$1" in
[a-zA-Z]*) return $SUCEESS;;
*) return $FAILURE;;
esac
}
isalpha2()
{
[ $# -eq 1 ] || return $FAILURE
case $1 in
*[!a-zA-Z]*|"") return $FAILURE;;
*) return $SUCCESS;;
esac
}
isdigit()
{
[ $# -eq 1 ] || return $FAILURE
case $1 in
*[!0-9]*|"" ) return $FAILURE;;
*) return $SUCEESS;;
esac
}
check_var()
{
if isalpha "$@"
then
echo "$* begins with an alpha character."
if isalpha2 $@
then
echo "$* contains only alpha character."
fi
elif isdigit $@
then
echo "$* contain only digits [0-9]"
fi
}
check_var 23skidoo
check_var 23
check_var a2
check_var ab 23
check_var
#echo;
#echo "Hit a key, then hit return."
#read Keypress
#
#case "$Keypress" in
# [[:lower:]] ) echo "Lower letter";;
#[[:upper:]] ) echo "Uppercase letter";;
# [0-9] ) echo "Digit";;
#* ) echo "Punctuation ,whitespace , or other";;
#esac
#outer=1
#for a in 1 2 3 4 5
#do
# echo "Pass $outer in outer loop."
# echo "--------------------"
# inner=1
#
# for b in 1 2 3 4 5
# do
# echo "Pass $inner in inner loop"
# let "inner+=1"
# done
#
# let "outer+=1"
#done
#t=0
#condition()
#{
# ((t++))
# if [[ $t -lt 5 ]]
# then
# return 0
# else
# return 1
# fi
#}
#
#while condition
#do
# echo "t=$t"
#done
#
#cat $0 |
#while read line
#do
# echo $line
#done
#LIMIT=10
#a=1
#
#while [ "$a" -le $LIMIT ]
#do
# echo -n "$a"
# let "a+=1"
#done
#
#((a=1))
#while((a<=LIMIT))
#do
# echo -n $a
# ((a+=1))
#done
#var1=unset
#previous=$var1
#while echo "previous-variable = $previous"
# echo
# previous=$var1
# [ "$var1" != end ]
#do
# "input variable #1 (end to exit)"
# read var1
# echo "variable #1 = $var1"
#done
#echo
#echo
#while [ "$var1" != "end" ]
#do
# echo "Input variable #1 (end to exit) "
# read var1
# echo "$variable #1 = $var1"
# echo
#done
#var0=0
#LIMIT=10
#
#while [[ "$var0" -lt "$LIMIT" ]]
#do
# echo -n "$var0"
#
# var0=`expr $var0 + 1`
#done
#LIMIT=10
#for((a=1;a<=LIMIT;a++))
#do
# echo -n $a
#done
#for((a=1,b=1;a<=LIMIT;a++,b++))
#do
# echo -n "$a-$b"
#done
#for a in 1 2 3 4 5 6 7 8 9 10
#do
# echo -n $a
#done
#for a in `seq 1 2 10`
#do
# echo -n $a
#done
#
#for a in {1..10}
#do
# echo -n $a
#done
#directory=${1-`pwd`}
#echo "symbolic links in directory \"$directory\""
#for file in "$(find $directory -type l)"
#do
# echo "$file"
#done | sort
#OLDIFS=$IFS
#IFS=:
#
#for file in $(find $directory -type l -printf "%p$IFS")
#do
# echo "$file"
#done | sort
#generate_list()
#{
# echo "one two three"
#}
#
#for word in $(generate_list)
#do
# echo "$word"
#done
#PASSWORD_FILE=/etc/passwd
#n=1
#for name in $(awk 'BEGIN{FS=":"} {print $1}' < $PASSWORD_FILE)
#do
# echo "USER #$n=$name"
# let "n+=1"
# #$((n+=1))
#done
#NUMBERS="9 7 3 8 37.53"
#
##for number in $NUMBERS
#for number in `echo $NUMBERS`
#do
# #echo -n "$number"
# echo -n "$number"
#done
#FILES="/usr/sbin/accept
#/usr/sbin/pwck
#/usr/sbin/chroot
#/sbin/badblocks
#/sbin/ypbind"
#
#echo
#for file in $FILES
#do
# if [ ! -e "$file" ]
# then
# echo "$file dons not exitst.";
# echo
# continue
# fi
#
# ls -l $file | awk '{ print $8" file size:" $5 }'
# whatis `basename $file`
# echo
#done
#IFS=$'\n';for line in `cat for_test.txt`;
#do
# echo "$line"
#done
#echo
#for file in *
#do
# ls -l "$file"
# echo "file:$file"
#done
#
#echo;
#echo "-----------------------------"
#
#for a
#do
# echo -n "$a"
#done
#
#echo
#exit 0
#
#for planet in "Mercyry 36" "Venus 67" "Earth 93" "Mars 142" "Jupiter 483" "-x a"
#do
# set $planet
# #set -- $planet
#
# echo "$1 $2,000,00 miles from the sun"
#done