2024.01.16作业

1.思维导图

2.输入一个文件名,判断是否在当前目录下存在

如果是一个目录,则直接输出是目录

如果存在则判断是否是一个普通文件,如果是一个普通文件则判断是否具备可读可写可执行权限,如果具备权限,则写入hello,不具备权限则添加权限写入hello

如果是一个链接文件则输出文件的详细信息

#!/bin/bash

read -p 'please enter file: ' f

if [ -e $f ]
then
    echo exist
    
    if [ -d $f ]
    then    
        echo 是目录

    elif [ -L $f ]
    then
        echo `ls -lh $f`

    elif [ -f $f ]
    then

        if [ -r $f ] && [ -w $f ] && [ -x $f ]
        then    
            echo hollo >> $f

        else
            `chmod 777 $f`
            echo hello >> $f
        
        fi
    
    fi

else
    echo not exist

fi  

2024.01.16作业_第1张图片

3.输入一个数,判断是否是回文数

#!/bin/bash

read -p 'please enter number: ' n

i=0
t=$n
sum=0

while [ $t -ne 0 ]
do
    sum=$[ sum * 10 + t % 10 ]
    t=$[ t / 10 ]
done

if [ $n -eq $sum ]
then
    echo 是回文数

else
    echo 不是回文数

fi

2024.01.16作业_第2张图片

4.输入n,计算n!

#!/bin/bash

read -p 'please enter number: ' n

i=1
sum=1

while [ $i -ne $[ n + 1 ] ]
do
    sum=$[ sum * i ]
    i=$[ i + 1 ]
done

echo $n! = $sum

2024.01.16作业_第3张图片

5.图形打印

#!/bin/bash

read -p 'please enter number: ' n
n=$[ n - 1 ]

i=0
while [ $i -ne $[ n + 1 ] ]
do
    j=0
    while [ $j -ne $[ n - i ] ]
    do
        echo -n ' '
        j=$[ j + 1 ]
    done

    j=0
    while [ $j -ne $[ i * 2 + 1 ] ]
    do
        echo -n '*'
        j=$[ j + 1 ]
    done

    echo
    i=$[ i + 1 ]
done

2024.01.16作业_第4张图片

6.用select in循环数组,arr=(Windows Linux Unix Mac),实现页面的交互

#!/bin/bash

a=(Windows Linux Unix Mac)

select b in ${a[*]}
do
    case $b in
        Windows)
            echo Windows已打开
            ;;
        Linux)
            echo Linux已打开
            ;;
        Unix)
            echo Unix已打开
            ;;
        Mac)
            echo Mac已打开
            ;;
        *)
            echo 错误
            ;;
        esac
done

2024.01.16作业_第5张图片

7.输入一个数,判断是否是素数

#!/bin/bash

read -p 'please enter number: ' n

q=1
while [ $[ q * q ] -le $n ]
do
    q=$[ q + 1 ]
done

i=2
f=0
while [ $i -lt $q ] 
do
    if [ $[ n % i ] -eq 0 ]
    then
        f=1
        break
    fi

    i=$[ i + 1 ]
done

if [ $n -eq 1 ]
then
    echo 非素数
elif [ $f -eq 0 ]
then
    echo 素数
else
    echo 非素数
fi

2024.01.16作业_第6张图片

你可能感兴趣的:(其他)