易忽略

1 输出九九乘法表至“99.txt”文件中,格式如下:

1 * *1=1 2 ** 1=2 2 * *2=4 3 ** 1=3 3 * *2=6 3 ** 3=9 4 * 1=4 4 ** 2=8 43=12 44=16 51=5 52=10 53=15 54=20 55=25

#!/bin/bash

# 打印九九乘法表

for i in {1..9}; do
    for j in $(seq 1 $i); do
        # 打印格式化的乘法公式并避免换行
        echo -n "$j * $i = $((i * j))  "
    done
    # 每一行结束后换行
    echo
done
打印99乘法表

2 从标准输入读取数值,按下面的规则输出正确的结果:

(1)若该数值大于 100 或小于 0,则输出“invalid”; (2)若该数值大于或等于 60,则输出“pass”; (3)否则输出"fail"。

#!/bin/bash
#带提示的读入语句
read -p "enter your number" num
if [ $num -gt 100 -o $num -lt 0 ];then
	echo "invalid"
elif [ $num -eq 60 -o $num -gt 60 ];then
	echo "pass"
else
	echo "fail"
fi
	
##注 or 在bash中 **-o 或者 ||,** and 在bash 中用 -a, 或者 && 
if

fi

3. 编程实现从键盘获取一个字符后,当该字符为字母时输出“It’s a letter.”,当该字符为数字时输出“It’s a number.”,其他情况时输出“Unknown.”。

#!/bin/bash
read ch
case $ch in
        [a-zA-Z]) // 正则表达式
        echo " It is a letter "
        ;;
        [0-9])
        echo " It is a number "
        ;;
        *)
        echo " It is unknower "
        ;;
esac

4. 如果一个自然数大于 1,而且它不能被除了 1 和自身之外的其他自然数整除,那么它被称为质数(Prime Number);否则,如果它能被 2 到该数减 1 之间的一个或多个自然数整除,那么它被称为合数(Composite Number)。例如 2 只能被 1 和 2 整除,则 2 为质数;6 能被 1、6 之外的 2、3 整除,则 6 为合数。编程实现求出所有两位数质数,并且把它们按行追加到“prime.lst”文件中。

#!/bin/bash
for p in $(seq 10 99);do
	for x in $(seq 2 $(($p - 1)));do
		if [ $(($p % $x)) -eq 0 ];then
				break
		fi
	done
	if [ $x -eq $(($p - 1)) ];then
			echo "$p" >> prime.lst
	fi
done

#!/bin/bash
for i in  $(seq 10 99);do
        for j in $(seq 2 $i );do
                if [ $(($i % $j)) -eq 0 ];then
                        break
                fi
        done
        if [ $j -eq $i ];then
                echo "$i" >> prime.lst
        fi

done

5. 提示输入一个数值,按下列情况输出正确结果:

(1)当它大于 0 时,输出 Positive; (2)当它小于 0 时,输出 Negative; (3)否则输出 Zero。

#!/bin/bash
read -p "enter a number :" num #带提示符的输入-p 
if [ $num -gt 0 ];then
        echo "Positive  "
elif [ $num -lt 0 ];then
        echo "Negative"
else
        echo " Zero"

fi

47、使用循环输出下面 6 行图形至“star.txt”文件中。