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