python学习站 /shell编程
阅读主题
正文字体
字体大小

08.shell基础语法4

本节13字2025-03-13 18:39:38
# 1.if分支结构
:<<EOF
1)if单分支结构
if [ 条件 ]
then
	满足条件需要执行的代码
fi

2)if双分支结构
if [ 条件 ]
then
	满足条件需要执行的代码
else
	不满足条件需要执行的代码
fi


3)if多分支结构
if [ 条件1 ]
then
	代码段1
elif [ 条件2 ]
then
	代码段2
elif [ 条件3 ]
then
	代码段3
...
else
	代码段N
fi
EOF

# 练习1:写代码判断指定文件夹是否是空的文件夹
path=~/code/abc
count=`ls $path | wc -l`
echo $count
if [ $count -eq 0 ]
then
	echo "${path} 对应的文件夹是空的"
else
	echo "${path} 对应的文件夹不是空的"
fi


# 练习2: 提示用户输入一个百分之的成绩,然后输出成绩对应的等级(A(>=90)\B[80, 90)\C[60, 80)\D(<60))
# echo -n "请输入一个分数(满分100分):"
# read score
score=87
if [ $score -ge 90 ]
then
	echo A
elif [ $score -ge 80 ]
then 
	echo B
elif [ $score -ge 60 ]
then 
	echo C 
else
	echo D
fi

echo -------------------------------------------------------------------------

# 2. for循环
:<<EOF
for 变量 in 容器
do
	循环体
done
EOF

# 1)遍历数组
names=(小明 张三 李四 王五 小红)
for x in ${names[*]}
do 
	echo $x
done

echo ----------------------------------------------------------------------------
# 2)遍历多个值
# 多个值: 指的是多个数据直接用空格或者换行符隔开
for x in 10 20 你好 xiaoming
do
	echo $x
done

echo ----------------------------------------------------------------------------
for x in `ls`
do
	echo "x:${x}"
done


echo ----------------------------------------------------------------------------

# 3. while循环
:<<EOF
while 条件语句
do 
	循环体
done
EOF

# 1)遍历字符串
# 字符串:索引:1
str1=hello
len1=${#str1}
x=0
while [ $x -lt $len1 ]
do 
	echo ${str1:${x}:1}
	x=`expr $x + 1`
done

echo -------------------------------------------------
# 练习:统计当前目录中文件的数量
result=`ls -lh | awk '{print $1}'`
count=0
for x in $result
do
	if [ ${x:0:1} = - ]
	then
		count=`expr $count + 1`
	fi
done
echo "文件数量:$count"


网友评论

相关作品