一:.请输⼊⽂件的名字,判断⽂件是否是普通⽂件,判断文件是否为脚本文件,如果为脚本文件,判断脚本文件是否具有可执行的权限,如果没有可执行的权限则添加可执行的权限。
#!/bin/bash
read -p "请输入文件名" name
for var in `ls`
do
if [ $name = $var ]
then
if [ -f $var ]
then
echo "该文件存在,且为普通文件"
var1=` file $var | cut -d ' ' -f 3 `
if [ "$var1" = "shell" ]
then
if [ -x $var ]
then
echo "该文件为shell脚本文件,且可执行"
else
chmod 777 $var
echo "该文件为shell脚本文件,但不可执行,已添加可执行权限"
fi
fi
fi
else
echo "没有该文件"
break
fi
done
3.通过终端输入两个字符串,比较两个字符串是否相对
#!/bin/bash
read -p "请输入两个字符串" var1 var2
if [ $var1 = $var2 ]
then
echo "两个字符串相等"
else
echo "两个字符串不等"
fi
3.打印正三角九九乘法表,使用break
#!/bin/bash
for (( i = 1; i<10; i++ )); do
for (( j = 1; j<10; j++ )); do
if [ $j -gt $i ]
then
break
fi
printf "%d*%d=%d\t" $j $i $((i*j))
done
printf "\n"
done
4.输入用户的名字,判断系统中是否有这个用户,
若用户存在返回用户在/etc/passwd中的行号并返回这个用户的uid
#!/bin/bash
read -p "请输入用户名:" name
num=0
a=0
uid=0
for i in `cat /etc/passwd | cut -d ":" -f 1 `
do
if [ $i = $name ]
then
num=`grep "^$i" /etc/passwd -n |cut -d ":" -f 1`
uid=`head -$num /etc/passwd | tail -1 | cut -d ":" -f 3 `
((a=1))
echo "该用户存在,在第$num列,uid号为$uid"
fi
done
if ((a==0))
then
echo "该虚拟机中没有此用户"
fi