而tcsh和bash只是不同的shell而已,他们的关系就像c++与java一样,都是编程语言。有很大的共同性,但有很多语法不同而已。 具体到具体的内容,列举下面几处差别: 在Tcsh中为变量赋值时,需要使用set命令。例如set NAME="Jhon"。 在Tcsh中数组的下标是从1开始的,而Bash中则是从0开始的。 Bash中设置全局变量(也称环境变量),使用的命令是export,而Tcsh则使用setenv。 在Bash中获取信号的命令是trap,而Tcsh中则使用onintr。 以上只是一部分差别而已,Tcsh与Bash还存在许多区别,例如Tcsh中可以使用goto语句执行无条件跳转,但Bash不支持等,此处不再一一介绍,感兴趣的读者可以通过阅读相关文档了解具体内容。
sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别 1. Shell脚本的书写 在写Shell脚本时,往往第一行要注明用什么解释器来解释这个脚本。 如#! Tcsh是Linux提供的C Shell的一个扩展版本。 Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,他不仅和Bash Shell提示符兼容,而且还提供比Bash Shell更多的提示符参数。
Tcsh/Csh Tcsh(发音为“tee-shell”)和 Csh(发音为“see-shell”)是基于 Unix 的命令行 shell,已经存在了数十年。 Tcsh 是原始 Csh 的增强版本,Csh 代表“Tenex C Shell”,“Tenex”指的是 TENEX 操作系统。 Tcsh 结合了 Csh 的所有功能以及其他改进,例如命令行编辑、作业控制和命令完成。 这两种 shell 在 Unix 世界中都具有影响力,许多用户欣赏它们独特的脚本语法和功能。 尽管如此,Tcsh 和 Csh 仍然是 Unix shell 历史中不可或缺的一部分。 3. Zsh 作为 Bourne Shell 的扩展而诞生,它融合了 Bash、ksh 和 tcsh 等其他 shell 的功能,提供了一组丰富的功能和改进的交互使用。
的种类 ** Bourne shell, sh Bourne Again Shell, bash Korn shell, ksh C shell, csh Z shell, zsh TC shell, tcsh Again Shell /bin/bash bash Z shell /usr/local/bin/zsh zsh Korn Shell /usr/bin/ksh ksh tc Shell /usr/bin/tcsh tcsh shell的配置文件 sh,ksh: /etc/profile*, ~/.profile ksh: ~/.kshrc csh: ~/.login, ~/.cshrc bash: ~/.bashrc , ~/.bash_profile Z(zsh): ~/.zshrc TC(tcsh): ~/.tcshrc
目前使用的并不多, 已经被/bin/tcsh所取代。 ksh Korn shell 的语法与Bourne shell相同,同时具备了C shell的易用特点。 tcsh tcsh是csh的增强版,与C shell完全兼容。 sh 是一个快捷方式,已经被/bin/bash所取代。
- 知乎[4] 常见的shell 参考:几种常见的Shell:sh、bash、csh、tcsh、ash_C语言中文网[5] sh sh 的全称是 Bourne shell,由 AT&T 公司的 Steve tcsh tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。 /bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh 并且可以查看当前的shell: ❯ echo $SHELL /bin/ - 知乎: https://www.zhihu.com/question/20388511 [5] 几种常见的Shell:sh、bash、csh、tcsh、ash_C语言中文网: http://c.biancheng.net
接下来的部分将介绍两种最流行的Unix shell:bash和tcsh。 Shell(tcsh Shell) The standard csh on virtually all Linux systems is tcsh, an enhanced C shell that tcsh startup files in case your users happen to come across tcsh. 即使您不使用tcsh作为默认的新用户shell(我们建议使用bash),您仍然应该提供tcsh的启动文件,以防万一您的用户碰巧遇到tcsh。 您不必担心tcsh中登录shell和非登录shell之间的区别。 在启动时,tcsh会寻找.tcshrc文件。如果找不到,它会寻找csh shell的.cshrc启动文件。
扩展 sh/bash/csh/Tcsh/ksh/pdksh等shell的区别 sh(全称 Bourne Shell): 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。 Tcsh: 是 Linux 提供的 C Shell 的一个扩展版本。 Tcsh 包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似 C 语言的语法,他不仅和 Bash Shell 提示符兼容,而且还提供比 Bash Shell 更多的提示符参数。
Csh shell 使用Tcsh作为Csh shell。否则会遇到错误"compile_ip.csh Word too long"。 命令如下: sudo apt-get install tcsh sudo update-alternatives --config csh 记录如下: hankf@XSZGS4:sxvdpu$ sudo apt-get install tcsh [sudo] password for hankf: Reading package lists... Done The following NEW packages will be installed: tcsh 0 upgraded, 1 newly installed, 0 to remove /tcsh_6.20.00-7_amd64.deb ... Unpacking tcsh (6.20.00-7) ... Setting up tcsh (6.20.00-7) ...
查看系统是否安装了zsh$ cat /etc/shells /bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin/bin/tcsh shell列表:$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin/bin/tcsh
$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh $ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh
提供的Shell解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh
基本组为distro,附加组peguin; useradd slackware -u 2002 -g distro -G peguin (7)修改slackware的默认shell为/bin/tcsh ; usermod slackware -s /bin/tcsh (8)为用户slackware新增附加组admins; usermod slackware -a -G admins
and do not create a new session -f, --fast pass -f to the shell (for csh or tcsh 将单个命令传递给shell执行 --session-command <命令> 将单个命令传递给shell执行,但不创建新会话 -f, --fast 将 -f 参数传递给shell(适用于 csh 或 tcsh
/sh(已经被/bin/bash替代) /bin/bash(默认的shell) /bin/ksh(源自贝尔实验室,兼容bash) /bin/tcsh (整合C shell,功能更为强大) /bin/csh(已经被tcsh取代) /bin/zsh(源自ksh功能更为强大) 每种shell的功能比较类似
Csh、tcsh、zsh、bash等 在Linux中如何打开命令行界面?
ash 一种运行在内存受限环境中简单的轻量级shell,与bash shll 完全兼容 korn 一种与Bourne shell 兼容的编程shell,其支持如关联数组和浮点运算等一些高级的编程特性 tcsh 一种将C语言中一些元素引入到shell脚本中的shell zsh 一种结合了bash、tcsh和korn的特性,同时提供高级编程特性、共享历史文件和主体化提示符的高级shell(MAC电脑终端的默认shell ID记录 不同的shell 有其不同的配置文件 Bash(Bourne Again Shell):~/.bashrc Ksh(Korn Shell): ~/.kshrc Csh(C Shell)和 Tcsh
Linux提供的Shell解析器有: $ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh
SHELL} /bin/bash 显示当前使用所使用的所有shell # cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh
Linux支持的shell在/etc/shells文件中/bin/sh已经被/bin/bash取代/bin/bash 是Linux默认的shell/bin/tcsh 整合c shell,提供了更多的功能 /bin/csh依附于bsd版的unix的shell,被/bin/tcsh取代/bin/ksh常用于商业版,兼容于bash/bin/zsh基于ksh开发的,功能更强大1.type name不加任何参数时