1.统计家目录下.c文件的个数
#!/bin/bash
count=0
for filename in $(ls ~ *.c)
do
((count++))
done
echo count=$count
2.终端输入一个.sh文件,判断文件是否具有可执行权限/然后运行脚本,没有可执行权限,添加可执行权运行脚本
#!/bin/bash
read -p "请输入文件名:" a #在终端输入文件名
if [ -x $a ] #判断是否具有可执行权限
then
echo 具有可执行权限
echo `bash $a`
else
echo 不具有可执行权限
chmod 777 $a #添加可执行权限
echo `bash $a`
fi
3.写一个函数,输出当前用户uid,gid并使用变量接受结果
#!/bin/bash
function fun()
{
a=`id -g`
b=$(id -u)
echo gid=$a
echo uid=$b
}
fun
4.终端输入年月,判断该月有多少天,考虑平闰年
#!/bin/bash
read -p "请输入年分数:" year
read -p "请输入月份数:" month
if [ $((year%4==0)) -a $((year%100==0)) -o $((year%400==0)) ] #判断是不是闰年
then
echo 这是闰年
case $month in #选择月份
1|3|5|7|8|10|12)
echo 31天
;;
2)
echo 29天
;;
4|6|9|11)
echo 30天
;;
*)
echo 输入的月份错误
esac
else
echo 这不是闰年
case $month in #选择月份
1|3|5|7|8|10|12)
echo 31天
;;
2)
echo 28天
;;
4|6|9|11)
echo 30天
;;
*)
echo 输入的月份错误
esac
fi
5.使用for循环输出九九乘法表
#!/bin/bash
#输出九九乘法表
for ((i=1;i<10;i++))
do
for ((j=1;j<=i;j++))
do
echo -n -e "$i×$j=$((i*j))\t" #输出乘法表
done
echo
done
6.使用for循环,找到家目录下的所有.c文件,如果文件有内容编译该文件,如果文件中没有内容,删除文件
#!/bin/bash
# 切换到家目录
cd ~
# 找到所有的.c文件
for file in *.c; do
if [ -s "$file" ]; then
echo "文件 '$file' 有内容,将会编译..."
gcc "$file" -o "${file%.c}"
else
echo "文件 '$file' 无内容,将会删除..."
rm "$file"
fi
done