`

bash vs csh (从csh 转换为 bash)

    博客分类:
  • Bash
阅读更多

http://homepage2.nifty.com/freeline/bash_vs_csh.html

 

终于 决意 从csh 转换为 bash,关于bash与 csh的 区别,把笔记 总结 如下。今后,在使用 bash的 过程中,也许会追加新发觉的东西。

功能 bash csh 备考
shell变量的定义

VAR=X

AVAR=(X1 X2)

set VAR = X

set AVAR = (X1 X2)  

在bash中,"="的前后不能有空白
环境变量的定义

export VAR=X

VAR=X

export VAR

setenv VAR X 在bash中,"="的前后不能有空白
命令搜索路径的定义 PATH=/bin:/usr/bin set path=(/bin /usr/bin) 或
setenv PATH /bin:/usr/bin
 
命令hash的更新 (不要) rehash  





 

 








redirect

把stdin从file CMD < FILE CMD < FILE bash与csh方法相同
把stdout向file CMD > FILE CMD > FILE bash与csh方法相同

把stdout向file

(shell变量noclobber已被设定

并且文件存在的场合)

CMD >| FILE CMD >! FILE  
向stdout追加 CMD >> FILE CMD >> FILE  
把stdout与stderr向同一文件

CMD &> FILE

CMD > FILE 2>&1

CMD >& FILE

在bash,下记亦可。

CMD >& FILE

把stdout与stderr向同一文件

(shell变量noclobber已被设定

并且文件存在的场合)

(在bash中,在这个场合下,不考虑

noclobber的设定)

CMD >&! FILE  
把stdout与stderr向不同文件 CMD > FILE1 2>FILE2 (CMD > FILE1) >& FILE2 在csh中,变为使用subshell的方法
here-document CMD << LABEL CMD << LABEl bash与csh方法相同
pipe CMD1 | CMD2 CMD1 | CMD2 bash与csh方法相同
命令置换(向命令的输出的命令行的置换) CMD1 $(CMD2)

CMD1 `CMD2`

(反向引用backquote)

在bash中,可以采取嵌套的方法



 






 

 

 



 

 

 

 

流程控制

if

if CON1 ; then

 CMD1

elif CON2 ; then

 CMD2

else

 CMD3

fi 

 

(CONDをコマンドとして実行した終了ステータスで判定)

if( COND1 ) then
  CMD1
else if(COND2) then
  CMD2
else
  CMD3
endif

(CONDの式としての値で判定)

bashでCONDとして式を用いる場合は下記
[ EXPR ]
または、
test EXPR
for
for VAR if LIST; do
 CMD
done
foreach VAR (LIST)
 CMD
end
 
while while COND ; do
 CMD
done

while (COND )
 CMD
end

 

bashでは下記もあり
until NOT_COND ; do
 CMD
done
case
  case EXP in
 PAT1)
  CMD1;;
 PAT2)
  CMD2;;
 *)
  CMD3;;
esac
switch (EXP)
case LABEL1:
  CMD1
  breaksw
case LABEL2:
  CMD2  breaksw
default:
  CMD3
endsw
分享到:
评论

相关推荐

    csh、bash.zip

    `bashrc`文件,全称为Bash运行配置文件,它在`bash` shell启动时被读取,用于设置用户特定的环境变量、别名、函数等个性化配置。在`bashrc(centos7_1)`这个文件中,可能包含了CentOS 7.1用户对`bash`环境的定制,...

    csh,tcsh,bash,sh等shell的区别

    ### csh, tcsh, bash, sh 等 Shell 的区别 在 Linux 和 Unix-like 操作系统中,Shell 是用户与操作系统交互的主要方式之一。不同的 Shell 提供了不同的特性和功能,本文将详细介绍 csh、tcsh、bash 和 sh 这几种 ...

    实现一个简单的shell(命令行解释器),类似于bash, csh等。

    本课程设计的目标是创建一个简单的shell程序,模仿像bash和csh这样的经典Unix shell。这个项目不仅有助于理解shell的基本功能,还能深入学习Unix/Linux系统中的进程创建和管理。 首先,我们需要了解shell的基本功能...

    OS + Linux Shell bash / sh / ksh / csh / tcsh / adb shell

    标题中的“OS + Linux Shell bash / sh / ksh / csh / tcsh / adb shell”涉及的是Linux操作系统中常用的命令行解释器,也就是Shell。这些Shell各有特点,但都用于与操作系统进行交互,执行命令、编写脚本。下面将...

    bash-5.1.12 源码包

    Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取...其他特性,例如历史命令,是从csh和ksh借鉴而来。总的来说,Bash虽然是一个满足POSIX规范的shell,但有很多扩展。

    bash4.4 pdf

    标题《bash4.4 pdf》和描述《bash 4.4 Man to PDF》暗示了一个关于Linux系统中Bash(Bourne Again SHell)版本4.4的手册页转换为PDF格式的过程或者指南。标签“bash linux scripts”表明文档主要面向的是在Linux操作...

    Bash的特性介绍BashInfo

    - **语法风格**:Bash采用了类似于sh的语法风格,而csh(C shell)则采用了不同的语法结构。 - **脚本兼容性**:由于Bash遵循POSIX标准,因此它能更好地与其他Unix shell兼容,这使得脚本编写更加灵活且易于移植。...

    Bash beginners guide.pdf

    **为什么学习Bash?** Bash提供了一种强大的方式来自动化Linux或类Unix系统的任务。通过编写Bash脚本,你可以创建可重复使用的命令序列,进行文件管理、数据处理、系统维护等各种工作。Bash脚本易于编写,且在...

    虚拟机root:x:0:0:root:/root:/bin/bash改成 root:x:0:0:root:/root:/bin/csh

    这里的改动意味着将root用户的默认Shell从Bash(/bin/bash)改为了Csh(/bin/csh)。 Bash是Unix/Linux中最常用的Shell,它是Bourne Shell的增强版,提供了丰富的命令行交互功能和脚本编写能力。而Csh(也称为Tcsh...

    man bash 中文PDF 版

    它还融合了 Korn Shell (ksh) 和 C Shell (csh) 中的一些优秀特性。 - **目标**: 成为遵循 IEEE POSIX Shell and Tools specification (IEEE 工作组 1003.2 可移植操作系统规范:shell 和工具) 的实现。 #### 2. **...

    bash语言编程说明

    - **注释行 `# This is a very simple example`**:在 Bash 中,以 `#` 开始的行被视为注释。 - **`echo` 命令**:用于输出文本。在这个例子中,输出 "Hello World"。 #### 三、Shebang 解析 - **Shebang 的作用**...

    Bash_shell学习笔记

    - **不同类型的Shell**:UNIX/Linux中有多种Shell可供选择,例如Bourne Shell (sh), C Shell (csh), Korn Shell (ksh), Tcsh, Zsh, Bash等。每种Shell都有各自的特点和适用场景。 ### 2. Bash简介 - **Bash的发展...

    阮一峰 Bash 脚本教程.pdf

    - 历史上重要的Shell包括Bourne Shell(sh)、Bourne Again shell(bash)、C Shell(csh)、TENEX C Shell(tcsh)、Korn shell(ksh)、Z Shell(zsh)、Friendly Interactive Shell(fish)等。 - 查看当前运行...

    bash shell

    - **Bash 的出现**: 由于 Berkeley C Shell (csh) 提供了更友好的交互体验(如命令历史和作业控制功能),很长一段时间内 Unix 社区普遍使用 Bourne Shell 进行编程而使用 csh 进行交互操作。然而,随着 Bash 的出现...

    Bash Beginners Guide(中文版) - Machtelt Garrels

    - **Shell类型**:常见的shell类型包括Bourne shell(sh)、C shell(csh)、Korn shell(ksh)以及Bash等。每种shell都有其独特的特性和优势。 - **Bash的优势**: - **Bash是GNU Shell**:Bash作为GNU项目的一...

Global site tag (gtag.js) - Google Analytics