Linux-Shell编程

1. 编写一个脚本,它能够显示:序列前10个数字:0、1、1、2、3、5、8、13、…

(1)代码

#!/bin/bash

n=0

echo "$n     "

m=1

echo "$m     "

tmp=

cnt=2

while [ $cnt -lt 10 ]

do

    tmp=$(expr $n + $m)

    echo "$tmp     "

    cnt=$(expr $cnt + 1)

    n=$m

    m=$tmp

done

(2)运行结果展示 

2.  提示用户输入一个小于100的整数,求1到该数的奇数和

(1)代码

#!/bin/bash
read -p "请输入一个小于100的整数:" num
sum=0
for ((i=1; i<=$num; i++))
do
	tmp=$[$i % 2]
	if [ $tmp == 1 ];then
		sum=$(($sum+$i))
	fi
done		
echo "1到$num的奇数和为:$sum"

(2)运行结果展示

3.  编写一个脚本,显示下面菜单:

(1)代码

#!/bin/bash
echo "1. Display list of all users currently logged in."
echo "2. Get help on a particular command."
echo "Press <Ctrl+D> to exit."
read ch
case $ch in
1)
who
;;
2)
echo "Enter a command name."
	read command
	if test -z "$command"  
		#判断字符串长度是否为0
		then exit
	else
		man $command
	fi
	;;
*)
echo "非法选项!"

esac

(2)运行结果展示

 

 4. 对以下数组按从小到大排序(23 55 76 99 104 37 62 90 756 3)

(1)代码

#!/bin/bash
arr=(23 55 76 99 104 37 62 90 75 63)
len=${#arr[*]}
for((i=1;i<$len;i++))
do
	for((j=0;j<$len-1; j++))
	do
		if [ ${arr[$j]} -gt ${arr[$j+1]} ];then
			tmp=${arr[$j]}
			arr[$j]=${arr[$j+1]}
			arr[$j+1]=$tmp
		fi
	done
done
echo ${arr[*]}

(2)运行结果展示

 

5. 打印倒三角九九乘法表

(1)代码

#!/bin/bash
for((i=1;i<=9;i++))
do
	for((k=1;k<$i;k++))
	do
		echo -e -n "\t"
	done
	for((j=$i;j<=9;j++))
	do
		echo -e -n "${i}×${j}=$[ $i*$j ]\t"
	done
	printf "\n"
done

 (2)运行结果展示

 

6. 打印空心方格(m*n)

(1)代码

#!/bin/bash
read -p "请输入m×n方格参数:" m n

    # 第1行
    echo -n "┌"
    for((j=2; j<$n; j++))
    do
        echo -n "-"
    done
    echo "┐"
    # 第2 ~ m-1行
    for((i=2; i<$m; i++))
    do
        echo -n "|"
        for((j=2; j<$n; j++))
        do
            echo -n " "
        done
        echo "|"
    done
    # 第m行
    echo -n "└"
    for((j=2; j<$n; j++))
    do
        echo -n "-"
    done
     echo "┘"

(2)运行结果展示

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值