清_shell语句习题集(未完!!!)

本文提供了一系列的Shell编程练习,包括数值计算、表达式求解、乘法表、文件操作、属性输出、循环控制及数组操作等,旨在提升Shell编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、请输入a b 两个数值,并对其进行求计算

#! /bin/bash
printf " 请先输入两个数,按空格键隔开:"
read a b
echo "  $a + $b=` expr  $a  + $b ` "

运行结果
2、请求下列表达式:输入a b c d ;a * ( b + c ) - d

#! /bin/bash
		read a
		read b
		read c 
		read d
		echo "$a*( $b + $c ) - $d=`expr $a \* $(( $b + $c )) - $d`"

运行结果
3、1完成 99乘法表

①#! /bin/bash
			for (( i=1;i<=9;i++ ))
			do
			for(( j=1;j<=$i;j++ ))
			do
				printf " $j* $i=`expr $j \* $i`"
			done
				printf "\n"
			done

运行结果
注:上面那种方式有缺陷,很明显34 44 那里对不齐,那么可以用下面这种方法

②#! /bin/bash
			for (( i=1;i<=9;i++ ))
			do
					for (( j=1;j<=9;j++ ))
					do
							if [ $j -gt $i  ]
							then
							break
							fi
							printf " %d*%d=%-3d"  $i * $ j =`expr  $i  \* $j  `
					done
					printf "\n"
			done

2、完成打印:

                                                      *            1
											        ***          3
												   *****        5
												  *******      7
												 *********    9
											    ***********  11
												 *********     9
												  *******       7
												   *****         5
												    ***           3
											         *             1


#!/bin/bash
for  (( i=5;i>=0;i-- ))
do
	for (( j=1;j<=$i;j++ ))
	do
			printf " "
	done
	for (( j=1;j<= `expr \( 5 - $i \) \* 2 + 1`; j++ ))
	do
				printf  "*"
	done
	printf "\n"
done
for (( i=1;i<=5;i++ ))
do
		for (( j=1;j<=$i;j++ ))
		do
				printf " "
		done
		for (( j=1;j<= ` expr \( 5 - $i \) \* 2 + 1`;j++ ))
		do
				printf "*"	
		done
		printf "\n"
done

3、求1-50的和

#! /bin/bash
 	for (( i=1;i<=50;i++  ))
 	do
 			((  sum += $i  ))
 	done
 			echo  " $sum "

4、创建100个文件夹 【 0706_1 … 】 ;
删除此100个文件夹

        **#! /bin/bash
   		for i in `seq 100 ` 
   		do
   				mkdir 0706_$i
   		done
   		for j in `seq 100`
   		do
   				rm -r 0706_$j
   		done**

5、将某个路径的文件属性进行输出(若是文件夹则属性该文件的内容的属性)
== 6==、通过循环打印所有元素;通过循环逆着打印所有元素

#!   /bin/bash
        honey=(0 1 2 3 4 5)
           for (( i=0;i<=4;i++ ))
           do
           			echo   ${honey[ $i ]}
           dome
           for (( j=4;j>=0;j-- ))
           do
           			echo ${honey[ $j]}
           done

在这里插入图片描述

7、计算100以内所有能被3整除的整数之和

#! /bin/bash
 		result=0
 		for num in ` seq 1 100 `
 		do
 				if [ `expr $sum  % 3`  -eq 0  ]
 				then
 						result = ` expr $result + $sum `
 				fi
 		done
 		echo $result

8、array=(1 4 2 3 6 5 7 9 8 0 )
1、判断key=8是否存在,存在并输出其位置

 #! /bin/bash
    array=( 1 3 2 5 4 6 8 7 9 0 )
    read key
    for (( i=0;i<10;i++ ))
    do
    		if [  ${array[ $I]}  -eq $key ]
    		then
    				echo  " $i——array[ $i] "
    				break
    		fi
    done
    if  [  $i -eq ${#array[*]  } ]
    then
    echo " $key  don\`t  exist "
    fi

2、求其数组元素的和
3、若元素是偶数则输出
9、定义一个数组
array=(0 0)
求/下有多少个文件并记录在第一个数组元素中 其中最长元素的名字的记录在第2个元素中。

#!  /bin/bash
	count=0
	listen=0
	read path
	for file in `ls $path`
	do
			if [  ${#file }  -gt   ${#listen}  ]
			then
					listen=$file
			fi
			count=`expr $count + 1`
	done
	echo $count  $listen

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值