1.请输⼊⽂件的名字,判断⽂件是否是普通⽂件,判断文件是否为脚本文件,如果为脚本文件,判断脚本文件是否具有可执行的权限,如果没有可执行的权限则添加可执行的权限。
#!/bin/bash
read -p "请输入文件名:" a
if [ -e $a ]
then
if [ -d $a ];then
echo "是目录文件"
exit
fi
if [ -f $a ]
then
echo "是普通文件"
b=`file $a | cut -d ' ' -f 3`
if [ $b == "shell" ]
then
echo "是脚本文件"
if [ -x $a ]
then
echo "可执行"
else
chmod 777 $a
echo "已修改为可执行文件"
fi
else
echo "不是脚本文件"
fi
else
echo "$a 既不是一个普通文件,也不是脚本文件"
fi
else
echo "文件不存在"
fi
2.通过终端输入两个字符串,比较两个字符串是否相对
#!/bin/bash
read -p "输入第一个字符串:" a
read -p "输入第二个字符串:" b
if [ \( -z "$a" \) -o \( -z "$b" \) ];then
echo "字符串有空值,请重新输入!"
exit
fi
if [ "$a" == "$b" ];then
echo "两字符串相等"
else
echo "两字符串不相等"
fi
4.打印正三角九九乘法表,使用break
for((i=1;i<10;i++))
do
for((j=1;j<=i;j++))
do
printf "%d*%d=%2d " $j $i $((i*j))
done
echo ""
done
5.输入用户的名字,判断系统中是否有这个用户,
若用户存在返回用户在/etc/passwd中的行号并返回这个用户的uid
#!/bin/bash
read -p "输入用户的名字:" a
function line()
{
local line=`grep "^$1" /etc/passwd -n | cut -d ":" -f 1`
return $line
}
function uid()
{
local uid=`head -$1 /etc/passwd | tail -1 | cut -d ":" -f 3`
echo $uid
}
line $a
line=$?
echo $line
if [ $line -ne 0 ]
then
echo "用户存在"
uid=`uid $line`
echo "$uid"
else
echo "用户不存在"
fi