1 、写一个 shell 脚本,计算 1 + 2 + …… + n 共 n 个值的和, n 值由用户输入 2 、让用户输入一个文件名,分别输出该文件的所在目录和该文件的扩展名 3 、判断用户输入的数值是几位数 4 、统计用户输入的目录文件中文件的个数
[root@localhost ~]# cat sum.sh
#!/bin/bash
#########################
#File name:sum.sh
#Version:v1.0
#Email:[email protected]
#Created time:2024-07-29 10:16:54
#Description:
#########################
#!/bin/bash
echo "请输入一个正整数n,将计算1到n的累加和:"
read n
re='^[0-9]+$'
if ! [[ $n =~ $re ]] ; then
echo "错误:输入必须为正整数" >&2; exit 1
fi
sum=0
for (( i=1; i<=n; i++ ))
do
sum=$((sum + i))
done
echo "1到$n 的累加和为:$sum"
[root@localhost ~]# cat sum2.sh
#!/bin/bash
#########################
#File name:sum2.sh
#Version:v1.0
#Email:[email protected]
#Created time:2024-07-29 10:21:34
#Description:
#########################
#!/bin/bash
echo "请输入文件名(包括路径,如果在当前目录下直接输入文件名):"
read filename
file_dir=$(dirname "$filename")
extension="${filename##*.}"
echo "文件所在目录: $file_dir"
echo "文件扩展名: $extension"
[root@localhost ~]# cat sum3.sh
#!/bin/bash
#########################
#File name:sum3.sh
#Version:v1.0
#Email:[email protected]
#Created time:2024-07-29 10:26:18
#Description:
#########################
#!/bin/bash
echo "请输入一个数值:"
read number
re='^[0-9]+$'
if ! [[ $number =~ $re ]] ; then
echo "错误:输入必须为整数" >&2; exit 1
fi
digit_count=${#number}
echo "输入的数值 $number 是 $digit_count 位数。"
[root@localhost ~]# cat sum4.sh
#!/bin/bash
#########################
#File name:sum4.sh
#Version:v1.0
#Email:[email protected]
#Created time:2024-07-29 10:30:06
#Description:
#########################
#!/bin/bash
echo "请输入目录路径:"
read directory
if [ ! -d "$directory" ]; then
echo "错误:输入的路径不是一个有效的目录" >&2; exit 1
fi
file_count=$(find "$directory" -type f | wc -l)
echo "目录 $directory 中的文件数量为: $file_count"
[root@localhost ~]#