shell作业

1.请输⼊⽂件的名字,判断⽂件是否是普通⽂件,判断文件是否为脚本文件,如果为脚本文件,判断脚本文件是否具有可执行的权限,如果没有可执行的权限则添加可执行的权限。

#!/bin/bash
read -p "请输入文件名" filename
a=`find ~ -name $filename|head -n 1`
if [ ${#a} -ne 0 ] ; then
    echo "$filename文件存在"
    echo "$filename文件路径为$a"
    if [ -f $a ] ;then
        echo "$filename是普通文件"
        fileType=`file $a | cut -d ' ' -f 3`
                if [ $fileType == "shell" ] ; then 
                    echo "$filename文件是一个shell脚本文件"
                    if [ -x $a ] ; then 
                        echo "$filename文件具有可执行的权限"
                    else 
                        echo "$filename文件不具有可执行的权限"
                        chmod a+x $a
                        echo "已为$filename文件添加可执行权限"
                    fi
                else 
                    echo "$filename文件不是一个shell脚本文件"
                fi
    else
        echo "$filename不是普通文件"
    fi
else
    echo "$filename文件不存在"
fi

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.通过终端输入两个字符串,比较两个字符串是否相等

#!/bin/bash
if ((`expr match $1 $2`))
then
    echo "$1和$2相等"
else
    echo "$1和$2不相等"
fi

在这里插入图片描述
3.打印正三角九九乘法表,使用break

#!/bin/bash

for((i=1;i<=9;i++)); do
    for((j=1;j<=9;j++)); do
    if ((j>i)) ; then
        break
    fi
    t=$((i*j))
        echo -ne "${i}*${j}=$t\t"
    done
   echo ''
done

在这里插入图片描述

4.输入用户的名字,判断系统中是否有这个用户,若用户存在返回用户在/etc/passwd中的行号并返回这个用户的uid

#!/bin/bash
read -p "请输入用户名:" name
arr=()
len=`sed -n '$=' /etc/passwd`
for ((i=0;i<=$len;i++)); do
    arr[i]=`head -$i /etc/passwd|tail -1|cut -d ":" -f 1`
    if [ "$name" = "${arr[i]}" ] ; then
    uid=`head -$i /etc/passwd|tail -1|cut -d ":" -f 3`
    echo "存在$name用户,在$i行"
    echo "uid:$uid"
    exit
    fi
done
echo "不存在该用户"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值