csh和bash的语法对比
一般来说,能用bash 语言编程就不用csh编程,因为bash语言的使用体验更好,但是某些情况的terminal窗口就是csh语言,因而,用csh语言会更适合。下面将bash和csh,做一些对比,方便将bash转变成csh.
一,关于变量设置,和环境变量设置
bash:
a=`pwd` # =号两边必须无空格,命令转变量也可以用$(pwd)export b=1 # 设置环境变量
csh
set a = `pwd` # 用关键词 set, = 两边必须有空格,命令转变量只能用``setenv b 1 # 设置环境变量
二,关于数组
bash:
array=(1 2 3 4 5) # 数组元素用空格隔开${array[@]} #或者 ${array[*]} # @ 或者星都可以代表所有元素${#@array[@]} # 表示数组个数for i in ${array[@]}; do # 使用遍历的时候的语法echo $idone
csh:
set array = (1, 2, 3, 4, 5,) # 数组元素用,隔开,或者用空格隔开也可以${array[*]} # 只能用星号代表所有元素$#array # 表示数组个数foreach i (${array[*]}) # 遍历的时候数组外要再加一对括号echo $iend
三,关于判断if
bash:
if [[ a != b ]];thenecho "ok"fi
csh: csh的判断条件一般加双引号,例如-f “/path/abc.py”
if (a != b ) then echo "ok" endif
四, 关于while循环
bash:
while ( true )
doecho "ok"
done
csh
while (1)echo "ok"end
五,关于函数
bash:
function abcd() {a=1}
csh: csh没有函数,只能使用label和goto
goto labellabel:......
如果你想快速执行Cshell, 即不想读入Cshell的启动程序(.cshrc等), 在script文件的第一行应该用类似下面的格式:
#!/bin/csh -f
六,关于一些不同的技巧
bash中获取文件所在的目录位置
CURDIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd )
csh中则是:
set script_dir=`readlink -f -- "$0"`
set CURDIR=`dirname -- $script_dir`
参考文章链接:
http://blog.sina.com.cn/s/blog_13f7886010102xqju.html
关于cshell的最详细文档可以参考这个http://sunner.cn/courses/OS/Learning_UNIX.pdf
csh和bash的语法对比相关推荐
- Shell编程之Csh和Bash的经验总结
文章目录 前言 1. 变量和环境变量设置 1. csh 2. bash 2. if语句 1. csh 2. bash 3. while循环 1. csh 2. bash 4. 数组 1. csh 2. ...
- csh和bash的区别
csh和bash的区别 csh和bash是两种不同的Unix和Linux shell,它们有一些语法和功能上的差异.例如: csh使用C语言风格的语法,如if endif, while end等,而b ...
- [转]C++/CLI与C#常用语法对比
[转]C++/CLI与C#常用语法对比 Kenny Kerr 一篇名为C++: The Most Powerful Language for .NET Framework Programming文章中 ...
- Docker安装部署MongoDB及MySql和MongoDB的语法对比
MongoDB是一个免费的.开源的.跨平台分布式面向文档存储的数据库,由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品 ...
- [zz]mysql 和 mongo db 语法对比
mysql 和 mongo db 语法对比 本文描述了MySQL中的常用SQL语句在MongoDB中的写法,如果你长期使用MySQL而对MongoDB跃跃欲试,这篇简单的文章可以帮助你更快的进入角色. ...
- Kotlin与Java语法对比总结
文章目录 前言 一.变量 二.函数 三.程序的逻辑控制 1.条件语句 2.循环语句 四.面向对象编程 1.类与对象 2.继承 3.构造函数 4.接口 5.数据类与单例类 五.Lambda编程 1.集合 ...
- 查看终端是csh还是bash和更改shell设置
1.判断终端是csh还是bash: 终端命令:env 直接执行:echo $SHELL 可以直接看出当前使用的shell 2.更改shell设置: 终端命令:chsh -s /bin/bash 执行完 ...
- Zsh vs. Bash不完全对比解析,zsh是一种更强大的被成为“终极”的Shell
https://www.zhihu.com/question/21418449 Mort | Zsh vs. Bash:不完全对比解析(1) 2014-10-07 bdpqlxz Zsh和Bash, ...
- MongoDB命令及SQL语法对比
2019独角兽企业重金招聘Python工程师标准>>> mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三 ...
最新文章
- android 手机推荐,2018年安卓机皇推荐,这几款是真的不错
- 项目调试之小工具---文件名替换
- java控制系统音量_Java 控制 Windows 系统音量-Go语言中文社区
- 斗地主AI算法——第十章の被动出牌(4)
- predis操作大全
- java dojo_Dojo入门三种HelloWorld!
- Redis 突然变 慢 了,是运维还是开发的错?
- dnslog盲打学习
- This tag and its children can be replaced by one TextView/ and a compound drawable
- 老司机教你如何优雅地完成一个小项目测试
- ipa在线下载安装(itms-services)
- GD32的flash读保护和写保护
- python实现从oracle读数据写入mysql(1)
- 1323: 三角形判定
- java 发送客服消息,Java调用微信客服消息实现发货通知的方法详解
- 剑指Offer面试题解总结21-30
- GUI编程--PyQt5--QMessageBox
- python死循环用什么好弄_用python死循环
- 数据库-订单商品表(单表-商品销量表)
- 2018中国高校计算机大赛—大数据挑战赛(top2解题方案)