shell脚本与c语言对比学习

这篇博客对比了Shell脚本与C语言在函数定义与调用、条件判断和switch/case语句上的差异。在Shell中,函数定义无需指定返回类型和参数类型,可以使用echo法或全局变量法传递返回值;条件判断使用中括号,实际上是test命令的别名;Shell没有switch/case,但case语句可类似实现,支持字符串和通配符匹配。

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

 

           最近由于工作的关系,粗略的接触到一点脚本,之前也接触过,只是之前没有写过,只是偶尔自己加几句话怎么的。今天自己动手写啦一下,把shell对比于C语言的一些不同写在这里,当作自己学习的一个笔记,如果有不足之处还望各位牛人指出。

           不说这么多的废话吧,还是直接上代码:

	#!/bin/sh
	start_command()
	{
	        echo "the first argument is :" $1 
	        do_it()
	        {
	                local rc=0
	                echo "I just test !"
	                echo "Input Error !"
	        }
	        while [ 1 ] ; do
	        read finished
	        case $finished in
	        1) echo "your input is 1 !" ;;
	        2) echo "your input is 2 !" ;;
	        q) echo "quit successful !" 
	           break ;;
	        *) do_it ;;
	        esac
	        done
	}
	
	start_command "hello world !"
	exit 0


 

程序运行的结果:

	the first argument is : hello world !
	1
	your input is 1 !
	2
	your input is 2 !
	3
	I just test !
	Input Error !
	2
	your input is 2 !
	1
	your input is 1 !
	q
	quit successful !


 

由于自己没有系统的看过shell语法的书,在这里只是简单的把shell的语法类比于C语言的来学习。通过这上面一个简单的例子,我主要归纳出啦下面3点得不同。

          1shell中函数的定义与函数的调用。

          在shell中,函数的定义不需要像在C语言中那样要指明函数的返回值类型,函数的参数个数以及每个参数的类型。

写到这里大家首先会想到难道shell中的函数都没有返回值么?不是,shell中的函数可以有返回值的,下面我通过自己总结的两个方法来讲解:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值