【答疑释惑】Linux下面tcsh和bash的区别

【答疑释惑】Linux下面tcsh和bash的区别

在我们的公众号里面遇到有人问tcsh和bash的区别:


正如小编回复的那样,这个问题其实不用太去纠结,拿到一个常用的去学习就行了。不过这里还是大致说下这两个东西。


首先我们要知道什么是shell。shell提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。


而tcsh和bash只是不同的shell而已,他们的关系就像c++与java一样,都是编程语言。有很大的共同性,但有很多语法不同而已。


具体到具体的内容,列举下面几处差别:


  1. 在Tcsh中为变量赋值时,需要使用set命令。例如set NAME="Jhon"。

  2. 在Tcsh中数组的下标是从1开始的,而Bash中则是从0开始的。

  3. Bash中设置全局变量(也称环境变量),使用的命令是export,而Tcsh则使用setenv。

  4. 获取脚本参数时,Bash中一般使用$1、$2、$3等位置变量,而Tcsh则使用$argv[1]、$argv[2]、$argv[3]等读取参数。

  5. 在Bash中获取信号的命令是trap,而Tcsh中则使用onintr。


以上只是一部分差别而已,Tcsh与Bash还存在许多区别,例如Tcsh中可以使用goto语句执行无条件跳转,但Bash不支持等,此处不再一一介绍,感兴趣的读者可以通过阅读相关文档了解具体内容。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值