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
|
分享到:
相关推荐
`bashrc`文件,全称为Bash运行配置文件,它在`bash` shell启动时被读取,用于设置用户特定的环境变量、别名、函数等个性化配置。在`bashrc(centos7_1)`这个文件中,可能包含了CentOS 7.1用户对`bash`环境的定制,...
### csh, tcsh, bash, sh 等 Shell 的区别 在 Linux 和 Unix-like 操作系统中,Shell 是用户与操作系统交互的主要方式之一。不同的 Shell 提供了不同的特性和功能,本文将详细介绍 csh、tcsh、bash 和 sh 这几种 ...
本课程设计的目标是创建一个简单的shell程序,模仿像bash和csh这样的经典Unix shell。这个项目不仅有助于理解shell的基本功能,还能深入学习Unix/Linux系统中的进程创建和管理。 首先,我们需要了解shell的基本功能...
标题中的“OS + Linux Shell bash / sh / ksh / csh / tcsh / adb shell”涉及的是Linux操作系统中常用的命令行解释器,也就是Shell。这些Shell各有特点,但都用于与操作系统进行交互,执行命令、编写脚本。下面将...
Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取...其他特性,例如历史命令,是从csh和ksh借鉴而来。总的来说,Bash虽然是一个满足POSIX规范的shell,但有很多扩展。
标题《bash4.4 pdf》和描述《bash 4.4 Man to PDF》暗示了一个关于Linux系统中Bash(Bourne Again SHell)版本4.4的手册页转换为PDF格式的过程或者指南。标签“bash linux scripts”表明文档主要面向的是在Linux操作...
- **语法风格**:Bash采用了类似于sh的语法风格,而csh(C shell)则采用了不同的语法结构。 - **脚本兼容性**:由于Bash遵循POSIX标准,因此它能更好地与其他Unix shell兼容,这使得脚本编写更加灵活且易于移植。...
**为什么学习Bash?** Bash提供了一种强大的方式来自动化Linux或类Unix系统的任务。通过编写Bash脚本,你可以创建可重复使用的命令序列,进行文件管理、数据处理、系统维护等各种工作。Bash脚本易于编写,且在...
这里的改动意味着将root用户的默认Shell从Bash(/bin/bash)改为了Csh(/bin/csh)。 Bash是Unix/Linux中最常用的Shell,它是Bourne Shell的增强版,提供了丰富的命令行交互功能和脚本编写能力。而Csh(也称为Tcsh...
它还融合了 Korn Shell (ksh) 和 C Shell (csh) 中的一些优秀特性。 - **目标**: 成为遵循 IEEE POSIX Shell and Tools specification (IEEE 工作组 1003.2 可移植操作系统规范:shell 和工具) 的实现。 #### 2. **...
- **注释行 `# This is a very simple example`**:在 Bash 中,以 `#` 开始的行被视为注释。 - **`echo` 命令**:用于输出文本。在这个例子中,输出 "Hello World"。 #### 三、Shebang 解析 - **Shebang 的作用**...
- **不同类型的Shell**:UNIX/Linux中有多种Shell可供选择,例如Bourne Shell (sh), C Shell (csh), Korn Shell (ksh), Tcsh, Zsh, Bash等。每种Shell都有各自的特点和适用场景。 ### 2. Bash简介 - **Bash的发展...
- 历史上重要的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 的出现**: 由于 Berkeley C Shell (csh) 提供了更友好的交互体验(如命令历史和作业控制功能),很长一段时间内 Unix 社区普遍使用 Bourne Shell 进行编程而使用 csh 进行交互操作。然而,随着 Bash 的出现...
- **Shell类型**:常见的shell类型包括Bourne shell(sh)、C shell(csh)、Korn shell(ksh)以及Bash等。每种shell都有其独特的特性和优势。 - **Bash的优势**: - **Bash是GNU Shell**:Bash作为GNU项目的一...