case 语法
#!/bin/bash
read -p “请输入yes/no” flag
case $flag in Yes | y* | Y*)
echo “输入了yes”
;;
no | n* | N*)
echo "输入了no"
;;
*)
echo "输入了其它"
esac
循环:for while until
for 循环
#!/bin/bash
declare -i i=0
declare -i sum=0
for((i=0;i<=100;i++))
do
sum=$sum+$i
done
echo "num=$sum"
sum=0
i=0
for i in 1 2 3 4 5 6 7 8 9 10
do
sum=sum+i
done
echo "sum=$sum"
declare
选项:
-f 限制动作或显示为只函数名称和定义
-F 限制仅显示函数名称 (以及行号和源文件名,当调试时)
-g 当用于 shell 函数内时创建全局变量; 否则忽略
-p 显示每个 NAME 变量的属性和值
设定属性的选项:
-a 使 NAME 成为下标数组 (如果支持)
-A 使 NAME 成为关联数组 (如果支持)
-i 使 NAME 带有 `integer' (整数)属性
-l 将 NAME 在赋值时转为小写
-n 使 NAME 成为指向一个以其值为名称的变量的引用
-r 将 NAME 变为只读
-t 使 NAME 带有 `trace' (追踪)属性
-u 将 NAME 在赋值时转为大写
-x 将 NAME 导出
#!/bin/bash
for filename in `ls`
do
if test -d $filename;then
echo "$filename是一个文件夹"
elif test -f $filename;then
echo "$filename 是一个文件"
fi
done
read -p "输入要找的文件名称:" file_name
#grep --help 查看参数 grep 参数 "内容" 查找目录或文件
echo $(grep -n -i -r $file_name .)
while 循环
declare -i i=0
while ((i<=10))
do
i=i+1
done
echo $i
i=0
while [ $i -le 10 ]
do
((i++))
done
echo $i
-gt:大于,greater than
-eq:等于,equal
-lt:小于,less than
-ge:大于等于,greater than or equal
-le:小于等于,less than or equal
-ne:不等于,not equal
until 循环
#!/bin/bash
declare -i i=0
until [ $i -ge 10 ]
do
((i++))
done
echo $i
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » shell(二)
发表评论 取消回复