csh与bash比较
csh与bash比较:
一、csh的while循环控制结构及if then:
#!/bin/csh -f
while ($#argv >= 1)
if ("$1" == "-s") then
shift
if ($#argv >= 1) then
set source = $1
shift
endif
else if ("$1" == "-c") then
set complex = "-text"
shift
else
if ($?text == "0") then
set text = $1
endif
shift
endif
end
而bash的for结构的if then :
#!/bin/sh
for file in *
do
if grep -q POSIX $file
then
echo $file
fi
done
exit 0
即c语言风格的csh,如if endif, while end结对,而linux下的bash形式为 if fi, for do done.
比较二:
csh的判断文件存在:
if (-e $MGDATA/${text}.chunks) then
set input_files = `cat $MGDATA/${text}.chunks`
endif
而bash则是:
if test -f fred.c
then
...
fi
或者使用
if [ -f fred.c ]
then
...
fi
即方括号[]相当test命令的效果,注意:如果需要把then放在if的同一行,需要在方括号[]后加一个分号;
if [ -f fred.c ]; then
...
fi
root@host% tnpdump
Name TNPaddr MAC address IF MTU E H R
cluster1.node0 0x1100001 02:00:00:01:00:04 em0 1500 2 0 3
node0.fpc3 0x1100013 02:00:00:01:00:13 em0 1500 5 0 3
node0.fpc5 0x1100015 02:00:00:01:00:15 em0 1500 4 0 3
node0.fpc11 0x110001b 02:00:00:01:00:1b em0 1500 5 0 3
node0.fpc3.pic0 0x1100113 02:00:00:01:01:13 em0 1500 2 0 3
node0.fpc5.pic0 0x1100115 02:00:00:01:01:15 em0 1500 2 0 3
node0.fpc3.pic1 0x1100213 02:00:00:01:02:13 em0 1500 3 0 3
node0.fpc5.pic1 0x1100215 02:00:00:01:02:15 em0 1500 3 0 3
cluster1.node1 0x2100001 02:00:00:02:00:04 em0 1500 0 0 3
cluster1.node1 0x2100001 02:00:01:02:00:04 em1 1500 0 1 3
node1.re0 0x2100004 02:00:00:02:00:04 em0 1500 0 0 3
node1.re0 0x2100004 02:00:01:02:00:04 em1 1500 0 1 3
node1.fpc3 0x2100013 02:00:00:02:00:13 em0 1500 4 0 3
node1.fpc5 0x2100015 02:00:00:02:00:15 em0 1500 4 0 3
node1.fpc11 0x210001b 02:00:00:02:00:1b em0 1500 5 0 3
node1.fpc3.pic0 0x2100113 02:00:10:02:01:13 em0 1500 3 0 3
node1.fpc5.pic0 0x2100115 02:00:00:02:01:15 em0 1500 3 0 3
node1.fpc3.pic1 0x2100213 02:00:10:02:02:13 em0 1500 2 0 3
node1.fpc5.pic1 0x2100215 02:00:00:02:02:15 em0 1500 3 0 3
node1.fpc3.pic2 0x2100313 02:00:10:02:03:13 em0 1500 3 0 3
node1.fpc3.pic3 0x2100413 02:00:10:02:04:13 em0 1500 2 0 3
cluster1.master 0xf100001 02:00:00:02:00:04 em0 1500 0 0 3
cluster1.master 0xf100001 02:00:01:02:00:04 em1 1500 0 1 3
bcast 0xffffffff ff:ff:ff:ff:ff:ff em0 1500 0 0 3
bcast 0xffffffff ff:ff:ff:ff:ff:ff em1 1500 0 1 3
root@host% cat p.sh
#!/bin/csh
foreach pic (`tnpdump | awk '{print $1}' | grep pic`)
echo $pic
end
root@host% ./p.sh
node0.fpc3.pic0
node0.fpc5.pic0
node0.fpc3.pic1
node0.fpc5.pic1
node1.fpc3.pic0
node1.fpc5.pic0
node1.fpc3.pic1
node1.fpc5.pic1
node1.fpc3.pic2
node1.fpc3.pic3
csh与bash比较的更多相关文章
- FreeBSD更换默认csh为bash
1.安装bash cd /usr/ports/shells/bash make install 2.切换chsh(change shell) chsh -s /usr/local/bin/bash
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- bash及其特性(笔记)
bash及其特性:shell: 外壳GUI:Gnome, KDE, XfceCLI: sh, csh, ksh, bash, tcsh, zsh root, student程序:进程 进程:在每个进程 ...
- linux的学习之路--(五)bash及其特性
操作系统组成作用shell是离用户最近的程序 shell:外壳 两类 GUI:Gnome,KDE,Xfce CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已) 进程:在每个进 ...
- 《鸟哥的Linux私房菜》学习笔记(2)——Bash特性
一.shell的基本概念: shell 意思是外壳,它是离用户最近的程序.shell提供用户操作系统的接口,我们通过shell将输入的命令与 ...
- linux初级学习笔记五:bash特性详解!(视频序号:03_2,3)
本节学习的命令:history,alias,ualias,\CMD 本节学习的技能: bash的特性 光标跳转 查看命令历史 命令历史的使用技巧 给命令起别名 命令替换 文件名通配符 shell: ...
- linux bash变量作用域
linux bash变量作用域 一,思考一个问题,当在shell里执行某个程序时,shell是怎么找到这个程序的? shell会去$PATH环境变量定义的目录里去找这个命令.环境变量里一般包括/usr ...
- linux中的bash
一.bash的简介 操作系统都是需要通过shell跟内核来交互的,常见的shell有GUI.KDE.sh.csh.bash.tsh.zsh等. 而linux中最常用的shell就是bash. 二.ba ...
- FreeBSD csh shell 配置
在/etc/csh.cshrc里面加入: alias ls ls –G, 并重新登录 问:如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件? 答:标准的方法是按Ctrl+D ...
随机推荐
- [原]项目进阶 之 持续构建环境搭建(二)Nexus私服器
上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...
- Linux C 文件与目录1 创建目录
linux C 创建目录 创建目录函数:mkdir 函数原型:int mkdir(char * pathname , mode_t mode); pathname字符指针是表示需要创建的目录路径 ...
- 谁是最好的Coder
谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所以他选了帅 ...
- Android-Empty-Layout:展示不同类型的页面布局,用于视图是空的时候
Android-Empty-Layout:这个布局可以作用在Listview,Gridview,用于显示数据的是空的时候,可以提示友好的页面.这库可以显示页面出错,页面加载,页面是空. 加载的动画页面 ...
- ffmpeg 编码
编码可以简单理解为将连续的图片帧转变成视频流的过程.以H264为例给出编码的代码: int InitEncoderCodec(int width, int height) { auto enc = a ...
- 【读书笔记】Redis入门
1:Redis概览 Remote Dictionary Server 远程字典服务 Redis是基于内存的存储 在一台普通的笔记本上,Redis每秒的读取速度可以达到10万 内存读取数据,断电的时候数 ...
- vi 常用技巧
vi/vim : Visual Interface/VI iMproved VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需 ...
- EXT心得--并非所有的items配置对象都属于EXT的内置类
之前我对EXT的items中未指明xtype的配置对象有一个错误的认识--即虽然某个items未指明它下面的某个组件的xtype,但这个组件肯定属性EXT的某个类.然而今天在查看actioncolum ...
- 平常写css网页制作时最实用的九条CSS技巧
一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则请参看<css基本语法>. 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的 ...
- action间传多个参数时注意问题
通常我们action之间传参可以有多种形式,举例说明:示例1: <result name="test" type="redirect-action"> ...