shell练习题(三)——循环打印乘法表,位置参数的使用

1.打印99乘法表

#!/bin/bash

for i in `seq 9`
do
    for((j=1;j<=i;j++))
    do
        let res=$i*$j
        #为了美观结果
        if [ $res -lt 10 ]
        then
            echo -n "$j * $i = $res  "
        else
           echo -n "$j * $i = $res " 
        fi
    done
        echo
done

shell练习题(三)——循环打印乘法表,位置参数的使用_第1张图片 2,编写--个shell脚本,打印任何数的乘法表。
例如,如果你执行此脚本请求一个数,并显示它的表。显示例输出如下:
2*1=2
2*2=4

.......
2*9 = 18

while true
do
    read -p "input number: " n
    if [ $n -le 9 ]
    then
        for ((i=1;i<=9;i++))
        do
            echo " $n * $i = `echo $[n*i]`"
        done 
        break
    else
        echo "请输入一个整数"
    fi
done

shell练习题(三)——循环打印乘法表,位置参数的使用_第2张图片

3.把第二个位置参数及其以后的各个参数指定的文件复制到第一个参数指定的目录中

if[ $# -ge 2 ]
then
    [ -d $1 ] || mkdir-pS1
    for ((i=2;i<=$#;i++))
    do
    #间接变量
    if [ ! -f ${!i} ]
    then
        echo "Usage: $0 dir file1 file2 ..."
        exit 4
    else
        \cp ${!i} S1
    done
else 
    echo "Usage: $0 dir filel file2..."
    exit 4
fi

 

你可能感兴趣的:(linux)