使用shell陆续有段时间了,对shell的整体做个知识的总结。
将要记录两点,一什么是shell,二它的种类,以及选型。
1.什么是shell
网上的定义太专业了,我用简短的话表达。Shell,可以说是Unix-like操作系统中的命令,多行的shell 命令写在一个文件中,那个文件就称为了shell scraping(脚本)。所以,大家常说写个shell,其实是说做一个shell 脚本,来实现你的功能。比如我最近写的多个shell(每个shell 200行左右):
・往oracle中导入csv文件
・批量创建table
・数据的清洗和format
・release时,对release的文件正确性的check
・在多台服务器中,寻找指定的error
2.Shell的种类
种类繁多,在此列举有名的几个:
Bash(sh):多数Linux distributions默认的shell, 被称为B shell
(在Linux distributions中,许多functions都是由shell编写的,shell中包含了大量的命令,以及其它高级shell 脚本函数)
csh:称为C shell。它的语法是C语言,所以有C的经验的话,用Csh更顺手一些。不幸的是,听说,csh中有许多bug,这些bug需要开发人员维护。但是它仍是Unix-based计算机中的默认shell。
tcsh:随着时间的推进,许多csh中的bug被修复,同时增加了许多特性,后来便发展成为了tcsh。
ksh:它也是在csh基础上发展而来的。
近些年,又出现了ash, dash, zsh, and fish,如此多的shell让人眼花缭乱。那么,该如何选择呢,朋友?
大多数,当我们选择好操作系统后,操作系统会有默认的选择。比如大多数Linux和Mac的默认选项是bash,Unix-based电脑中,默认是csh。
参考链接:
https://en.wikipedia.org/wiki/Comparison_of_command_shells
(最近爱看wiki,里面的东西很好)
https://www.howtogeek.com/68563/htg-explains-what-are-the-differences-between-linux-shells/
能力一般,水平有限,江山父老能容我,不使人间造孽钱。