嵌入式学习代码总结(三)

20221107-20221111

/*
 *	作者:徐子宸
 *	功能:用cat实现同时显示三个文件的内容
 *	来源:根据上课时老师讲解的内容进行改写
 *
 *
 */
#include<stdlib.h>
#include<stdio.h>
int main(int argc,char *argv[])
{
	char cmd[200]={0};
	if(argc!=4)
	{
		puts("请输入文件名:\n");
		return -1;
	}
	sprintf(cmd,"cat %s",argv[1]);	//	功能是将数字或者其他数据格式化成字符串保存到一个字符串变量中
	system(cmd);
	sprintf(cmd,"cat %s",argv[2]);
	system(cmd);
	sprintf(cmd,"cat %s",argv[3]);
	system(cmd);
	return 0;
}
#! /bin/bash
read -p "input:
" string
test $string = "hi"
echo $?

#!/bin/bash
echo "input:"
read NUM1
read NUM2
echo "NUM1=$NUM1 NUM2=$NUM2"

#!/bin/bash
read -p "input:" NUM1 NUM2
echo "NUM1=$NUM1,NUM2=$NUM2"

#!/bin/bash
read -p "input:" NUM1 NUM2
expr $NUM1 + $NUM2

#!/bin/bash
read -p "input:" NUM1 NUM2
ADD=`expr $NUM1 + $NUM2`
echo "ADD = $ADD"

#!/bin/bash
read -p "input:" string
test -z $string
echo $?

#! /bin/bash
read -p "input:" string
test -n $string
echo $?

#! /bin/bash
if [ -d $1 ]
then
   echo "yes"
else
   echo "no"
fi

#! /bin/bash
if [ $# -ne 1 ]
then
    exit
fi
if [ -f $1 ]&&[ -r $s1 ]&&[ -w $s1 ]&&[ -x $s1 ]
then
    echo "[普通文件][存在][可读][可写][可执行]"
elif [ -w $1 ]&&[ -f $1 ]
then 
    echo "[普通文件][可写]"
elif [ -r $1 ]&&[ -f $1 ]
then
    echo "[普通文件][可读]"
elif [ -x $1 ]&&[ -f $1 ]
then
     echo "[普通文件][可执行]"
elif [ -d $1 ]
then
     echo "[目录]"    
else
     echo "[未知]"
fi

#问题:乘法的结果错误
#! /bin/bash
if [ $# -ne 3 ]
then
	echo "ERROR"
fi
case $2 in
	'+')
		result=`expr $1 + $3`
		;;
	'-')
		result=`expr $1 - $3`
		;;
	'*')
		result=`expr $1 \* $3`
		;;
	'/')
		result=`expr $1 / $3`
		;;
	*)
		echo "输入错误"
esac
echo "result=$result"

#! /bin/bash
#功能:计算1到10的值
#作者:徐子宸
#来源:修改CSDN某文章的代码
sum=0
for I in {1..10}
do
	#sum=0
	#let sum=$sum+$I
	sum=`expr $sum + $I`	
done
echo "1+......+10的值为"$sum

#功能:请输入你想要下载的软件的名字
#让用户确认是否下载这个软件
#输入y,下载软件
#输入n,取消下载
#姓名:徐子宸
#来源:原创
#问题:无论输入yes还是no,在软件包名正确的情况下,都进行下载
#!/bin/bash
if [ $# -ne 1 ]
then
	echo "ERROR"
	exit
fi
echo "输入yes下载,输入no取消下载"
read result
if [ $result = "yes" ]
then
	echo "下载软件"
	sudo apt install $1
elif [ $result = "no" ]
then
	echo "取消下载"
fi

#作者:徐子宸
#功能:输入文件名,如果有写的权限,就向文件中写入"hello world"
#如果没有写的权限,给它添加写的权限,然后再写入"hello world"
#来源:原创
#!/bin/bash
if [ $# -ne 1 ]
then
	echo "输入错误"
	exit
fi
if [ -f $1 ]&&[ -w $1 ]
then
	echo "hello world">$1
else
	chmod u+w $1
	echo "hello world">$1
fi

#!/bin/bash
read -p "input:" NUM1 NUM2
ADD=`expr $NUM1 \* $NUM2`
echo "ADD=$ADD"

#功能:复制当前目录下所有文件到backup子目录下 
#!/bin/bash
if [ ! -d $HOME/backup ]
then
	mkdir $HOME/backup
fi
flist=`ls`
for file in $flist
do
	if [ $# = 1 ]
	then
		if [ $1 = $file ]
		then
			echo "$file found"
			exit
		fi
		else
			cp $file $HOME/backup
			echo "$file copied"
		fi
done
echo ***Backup Completed***

#功能:打印99乘法表
#来源:抄袭
#! /bin/bash
i=1
sum=0
while [ $i -le 9 ]
do
	num=1
	while [ $num -le $i ]
	do
		sum=`expr $i \* $num`
		echo -n "$i*$num=$sum "
		num=`expr $num + 1`
	done
	i=`expr $i + 1`
	echo ""
done
#思路分析:
#	i={1,2,3,4,5,6,7,8,9}
#	num=1
#	num={1,2,3,4,5,6,7,8,9}	
#
# 	sum=1*1	sum=`expr $i \* $num`
#
#	sum=2*1	i=`expr $i + 1`
#	sum=2*(1+1)	num=`expr $num + 1` 
#
#	sum=3*1
#	sum=3*(1+1)
#	sum=3*(1+1+1)
#
#	sum=4*1
#	sum=4*(1+1)
#	sum=4*(1+1+1)
#	sum=4*(1+1+1+1)
#
#	sum=5*1
#	sum=5*(1+1)
#	sum=5*(1+1+1)
#	sum=5*(1+1+1+1)
#	sum=5*(1+1+1+1+1)
#
#	sum=6*1
#	sum=6*(1+1)
#	sum=6*(1+1+1)
#	sum=6*(1+1+1+1)
#	sum=6*(1+1+1+1+1)
#	sum=6*(1+1+1+1+1+1)
#
#	sum=7*1
#	sum=7*(1+1)
#	sum=7*(1+1+1)
#	sum=7*(1+1+1+1)
#	sum=7*(1+1+1+1+1)
#	sum=7*(1+1+1+1+1+1)
#	sum=7*(1+1+1+1+1+1+1)
#
#	sum=8*1
#	sum=8*(1+1)
#	sum=8*(1+1+1)
#	sum=8*(1+1+1+1)
#	sum=8*(1+1+1+1+1)
#	sum=8*(1+1+1+1+1+1)
#	sum=8*(1+1+1+1+1+1+1)
#	sum=8*(1+1+1+1+1+1+1+1)
#
#	sum=9*1
#	sum=9*(1+1)
#	sum=9*(1+1+1)
#	sum=9*(1+1+1+1)
#	sum=9*(1+1+1+1+1)
#	sum=9*(1+1+1+1+1+1)
#	sum=9*(1+1+1+1+1+1+1)
#	sum=9*(1+1+1+1+1+1+1+1)
#	sum=9*(1+1+1+1+1+1+1+1+1)
#	
#	分析完毕

#!/bin/bash
for J in {1..9}
do
	for I in {1..9}
	do
		if [ $I -ge $J ]
		then
			break
		fi
		MUL=`expr $I \* $J`
		echo -n "$I * $J=$MUL "
	done
	echo""
done

#功能:判断用户;主目录下是否有file-dir和dir-dir目录
#如果这两个目录存在,询问是否删除这两个目录
#如果用户输入y,则将这两个目录删除,重新创建这两个目录
#如果用户输入n,输出继续
#请用户输入一个路径,将这个路径下的文件拷贝到file-dir
#将这个路径下的文件夹拷贝到dir-dir
#预计拷贝的文件和目录的个数
#来源:朱鸿飞老师
#!/bin/bash
for dir in $HOME/file-dir $HOME/dir-dir
do
	if [ -d $dir ]
	then
		read -p "是否删除:" OP
		case $OP in
			Y|YES|y/yes)
				rm -r $dir
				mkdir $dir
				;;
			N|NO|no|n)
				echo "continue"
				;;
		esac
	else
		mkdir $dir
	fi
done
fileCount=0
dirCount=0
read -p "请输入一个路径:" pathname
flist=`ls $pathname`
# $pathname指代路径
# $list指代路径下的文件
for list in $flist
do
	if [ -f $pathname/$list ]
	then
		cp $pathname/$list $HOME/file-dir
		fileCount=`expr $fileCount + 1`
	elif [ -d $pathname/$list ]
	then
		cp -r $pathname/$list $HOME/dir-dir
		dirCount=`expr $dirCount + 1`
	fi
done
echo "fileCount = $fileCount"
echo "dirCount = $dirCount"

#! /bin/bash
for((i=1;i<=9;i++))
	for((j=i;j<=9;j++))
	do
		SUM=`expr $i /* $j`
	done
echo "SUM=$SUM"

for J in {1..9}
do
	for I in {1..9}
	do
		if [ $I -ge $J ]
		then
			MUL=`expr $I \* $J` 
			echo -n "$J * $I =$MUL"
		fi
	done
	echo ""
done

#!/bin/bash
for J in {1..9}
do
	for I in {1..9}
	do
		if [ $I -ge $J ]
		then
			continue 1
		fi
		MUL=`expr $I \* $J`
	 	echo -n "$I * $J=$MUL "
	done
	echo""
done


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值