csh和bash的区别-程序员宅基地

技术标签: Linux  linux  bash  开发语言  

csh和bash的区别

csh和bash是两种不同的Unix和Linux shell,它们有一些语法和功能上的差异。例如:

  1. csh使用C语言风格的语法,如if endif, while end等,而bash使用Bourne shell风格的语法,如if fi, for do done等。
  2. csh设置变量时使用set命令,并且=号两边不能有空格,如set a=pwd;而bash设置变量时不需要set命令,并且=号两边必须无空格,如a = pwd
    csh设置环境变量时使用setenv命令,如setenv PATH $PATH:/usr/local/bin;而bash设置环境变量时使用export命令,并且=号两边不能有空格,如export PATH=$PATH:/usr/local/bin
  3. csh引用变量时使用$符号,并且可以省略{}符号,如echo $a;而bash引用变量时也使用$符号,但是如果变量名后面紧跟其他字符,则必须加上{}符号以区分变量名和其他字符,如echo ${a}b
  4. csh支持算术运算符 @$(),并且可以直接在shell中进行数学计算,如 @ a = 1 + 2set a = $(1 + 2);而bash支持算术运算符 $[]$(())let命令,并且也可以直接在shell中进行数学计算,如 a=$[1+2]a=$((1+2))let a=1+2
  5. csh支持历史命令替换符 !!!n(n为数字),并且可以直接在shell中重复执行或修改之前输入过的命令,如 !!!5;而bash也支持历史命令替换符 !!!n(n为数字),但是还支持历史命令搜索功能(按Ctrl+R键),并且也可以直接在shell中重复执行或修改之前输入过的命令。
  6. csh支持别名功能alias,并且可以在shell中为常用的命令或参数设定简短的名称以方便输入,如alias ll ‘ls -l’;而bash也支持别名功能alias,并且也可以在shell中为常用的命令或参数设定简短的名称以方便输入。
  7. csh不支持数组类型的变量,并且只能通过循环来遍历一个列表或文件夹下的文件;而bash支持数组类型的变量,并且可以通过下标来访问数组元素或通过*来遍历数组所有元素。
  8. csh支持文件名通配符和?,并且可以在shell中匹配任意长度或单个字符的文件名,如ls .txt 或 ls ??.c;而bash也支持文件名通配符和?,但是还支持正则表达式的元字符,如[ ]、^、$等,并且可以在shell中匹配更复杂的文件名模式,如ls [a-z].txt 或 ls ^a.*c$。
  9. csh不支持函数定义,并且只能通过外部脚本或命令来实现函数功能;而bash支持函数定义,并且可以在shell中直接定义和调用函数,如function hello() { echo “Hello world!” } 或 hello() { echo “Hello world!” }。
  10. csh不支持重定向符号>和<的多次使用,并且只能将标准输出或标准输入重定向到一个文件或设备;而bash支持重定向符号>和<的多次使用,并且可以将标准输出或标准输入重定向到多个文件或设备,如cat file1 > file2 > file3 或 cat < file1 < file2。
  11. csh不支持管道符号|的多次使用,并且只能将一个命令的输出作为另一个命令的输入;而bash支持管道符号|的多次使用,并且可以将多个命令的输出作为另一个命令的输入,如ls | grep a | wc -l。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_28305511/article/details/129464825

智能推荐

【C++基本语法】Linux IO多路复用select, poll, epoll特性对比-程序员宅基地

文章浏览阅读792次,点赞30次,收藏23次。本文介绍IO多路复用的几个特点,重点在特性对比和底层数据结构

关于PkI里签名证书和加密证书(俗称双证书)_签名加密双证书-程序员宅基地

文章浏览阅读4.3k次,点赞6次,收藏17次。众所周知,数字证书包含签名证书和加密证书,签名证书用于签名和验证,加密证书用于加密和解密,我因为不明白为什么要使用双证书,所以找寻相关资料查询了一下,下面这篇文章是关于双证书的目的“PKI中使用双证书、即双密钥,双密钥是指签名密钥对与加密密钥对,从本质上说,两个密钥对都是非对称密钥对,因此,都可以用来作非对称加解密,然而为什么需要双密钥呢?这必须从两个密钥的用法说起。签名密钥对用于数据的完整性检测,保证防伪造与防抵赖,签名私钥的遗失,并不会影响对以前签名数据的验证,因此,签名私钥无须备份,因此,签名密钥_签名加密双证书

产品经理知识框架+求职面经——快手,字节跳动,_字节产品经理面经-程序员宅基地

文章浏览阅读1.6w次,点赞17次,收藏105次。大流程框架简历准备策略:1、对即将面试的公司的产品写一些竞品分析、产品体验报告,有时间花2个月时间做了一个产品demo。2、优化简历(一面就行,HR没时间看,重点突出关键词):对应聘公司和岗位的深刻理解认识,并解读,将项目经历匹配岗位需求去描述,简历投递途径:拉勾网、boss直聘和牛客、垂直的产品用研社区(例如pmcaff、uxren以及一些垂直领域专业人士的公众号上发布的招聘信息..._字节产品经理面经

华为诺亚方舟实验室实习面试_华为诺亚方舟 coding-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏8次。前言记录一下自己遇到的实习面试经历,希望能对后来人有用。面试总共分为两轮:第一轮是项目面试,主要讲自己做的研究工作以及论文相关情况;第二轮主要是CodingTest测试;这里主要讲讲自己的CodingTest,其实代码测试的题目和LeetCode差不多,水平差不多,题目可能不一定相同。给了我两个题目,一道是困难,一道是简单的。一、题目说明题目1:A为一个十进制数(以整数为例),k位,k<100。求B使得B为大于A的最小整数,且A各位的和等于B各位的和。题目2:给一定数量的信封,带有整数对_华为诺亚方舟 coding

网关和本机IP不同网段的上网办法_同一网关下ip不同网段-程序员宅基地

文章浏览阅读7k次。原贴:http://www.linuxeden.com/html/softuse/20090613/66175.html网关和本机IP不同网段的上网办法本机IP地址是 202.*.*.*netmask是255.255.255.192网关是 61.*.*.*两者不在同一网段。Windows下貌似很容易解决,直接设好IP网关即可,路由表会自动设好,Linux却不行。_同一网关下ip不同网段

计算机信息数字化基础_十进制-10的真值和机器数-程序员宅基地

文章浏览阅读2.4k次。八卦图与二进制的联想易有太极,是生两仪,两仪生四象,四象生八卦!计算机都涉及到哪些数制?二进制(Binary),八进制(Octal),十进制(Decimal),十六进制(Hexadecimal)二进制用于电脑识别十进制用于人来识别而八进制与十六进制就是用来协调人和计算机矛盾的进制二进制有极大的优势:易于物理实现,二进制运算规则简单,机器可靠性高,通用性强,可用于逻辑_十进制-10的真值和机器数

随便推点

xCode中如何安装旧的模拟器-程序员宅基地

文章浏览阅读89次。http://blog.csdn.net/cmengzhongren/article/details/50414493这里给出如何把老版本的SDK加入到新的Xcode中的方法。其实很简单,就是将老版本的sdk拷贝过去。打开老的Xcode安装路径(你可以去Apple Dev Center下载老版本的Xcode dmg包,解压出来对应的SDK包。):Applications/X..._xcode安装 老版本模拟器

开启我的奋斗历程-程序员宅基地

文章浏览阅读336次。仅以这篇文章来标志我的编程学习历程。今天时间比较急,先记下,这周末再补上具体内容。_我的奋斗历程

Java NIO (二) 通道(Channels)_java channels-程序员宅基地

文章浏览阅读2.9k次。Channelschannels与buffers配合去实现高性能的I/O操作。本章向你介绍NIO的channel类型。_java channels

Tornado-03-Tornado、数据库、同步和异步、Tornado的协程(异步Web请求客户端、基于gen.coroutine的协程异步、并行协程)、Tornado的WebSocket-程序员宅基地

文章浏览阅读517次。Tornado一、数据库与Django框架相比,Tornado没有自带ORM,对于数据库需要自己去适配。我们使用MySQL数据库。在Tornado3.0版本以前提供tornado.database模块用来操作MySQL数据库,而从3.0版本开始,此模块就被独立出来,作为torndb包单独提供。torndb只是对MySQLdb的简单封装,不支持Python 3。所以如果在当前版本中使用torndb进行数据库操作,需要修改源代码,所以在此,我们使用pymysql。项目中如果要使用ORM,可以使用SQL

[dp]POJ 3176 Cow Bowling解题报告_the cows don't use actual bowling balls when they -程序员宅基地

文章浏览阅读477次。题目: Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16077 Accepted: 10705 DescriptionThe cows don’t use actual bowling balls when they go bowling. They each take_the cows don't use actual bowling balls when they go bowling. they each take a number (in the range 0..99), though, and line up in a standard bowling-pin-like triangle like this:

【Android 练习】Intent 隐式启动_intent隐式启动-程序员宅基地

文章浏览阅读810次。MainActivity.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" ="http://schemas.android.com/apk/res/android" an.._intent隐式启动

推荐文章

热门文章

相关标签