本人(markdown译者)是解决工作中shell脚本的一个问题, 偶尔的一次机会遇到了CU论坛中这样一个神贴:shell十三问.
shell十三问是CU的shell版的台湾的网中人是2003年用繁体发布的。 第一次读到shell十三问,由于是繁体,第一感觉有点抵触, 但是还是耐着性子读完了一贴,没想到竟然读懂了, 而且还被网中人的幽默的写作风格,独到的思维方式, 循序渐进的认识事物的过程所折服。
尽管帖子是10多年前写的,今天看来也几乎没有一点过时的感觉。 从这个方面来说,shell十三问应该shell的(思想)精华本质所在, 就像武功的内功心法,可能我说的点过, 但是我曾经看过一本shell脚本学习指南,看完后的感觉,还是有感念很朦胧, 而shell十三问是我最容易理解和接受的,这也是我整理的Markdown版本初衷。 为什么不让好东西让更多的人熟知呢,恰好年前项目管理开始迁移到git上, 在git上认识一个好东西Markdown,用它可以很简单地整理出条例清晰篇章。 在年假的时候,觉得这个假期该做点什么, 毕竟马总都说了,改变世界,不如改变自己。
本人整理的 [简体中文Markdown版本的shell十三问][shell-markdown] 的链接地址: https://github.com/wzb56/13_questions_of_shell
网中人的CU原帖shell十三问地址:http://bbs.chinaunix.net/thread-218853-1-1.html
我简单将原文整理如下:
我在CU的日子并不长,有幸在shell版上与大家结缘。 除了跟前辈学习到不少技巧之外,也常看到不少朋友的问题。 然而,在众多问题中,我发现许多瓶颈都源于shell的基础而已。 每次要解说,却总有千言万语不知从何而起之感......
这次,我不是来回答,而是准备了关于shell基础的十三个问题要问大家。 希望的shell的学习者们能够通过寻找答案的过程,好好的将shell基础打扎实一点。
当然了,这些问题我也会逐一解说一遍。 只是,我不敢保证什么时候能够完成这趟任务。
除了时间关系外,个人功力实在有限,很怕匆忙间误导观众就糟糕了。 若能抛砖引玉,诱得,其他前辈出马补充,那才是功德一件。
shell prompt(PS1) 与 Carriage Return(CR) 的关系? (2008-10-30 02:05 最后更新)
別人 echo、你也 echo ,是问 echo 知多少?( 2008-10-30 02:08 最后更新)
" "(双引号) 与 ' '(单引号)差在哪? (2008-10-30 02:07 最后更新)
var=value 在export前后差在哪? (2008-10-30 02:12 最后更新)
exec 跟 source 差在哪? (2008-10-30 02:17 最后更新)
$(( )) 与 $( ) 还有${ } 差在哪? (2008-10-30 02:20 最后更新)
&& 与 || 差在哪? (2008-10-30 02:21 最后更新)
> 与 < 差在哪? (2008-10-30 02:24 最后更新)
你要 if 还是 case 呢? (2008-10-30 02:25最后更新)
for what? while 与 until 差在哪? (2008-10-30 02:26最后更新)
Part-I: Wildcard (2008-10-30 02:25 最後更新)
Part-II Regular Expression (2008-10-30 02:26 最后更新)
说明:
欢迎大家补充/扩充问题。
我接触电脑的中文名称时是在台湾,因此一些术语或与大陆不同,请自行转换。
我会不定时"逐题"说明(以 Linux 上的 bash 为环境) 同时,也会在任何时候进行无预警的修改。请读者自行留意。
本人于本系列所发表的任文章均可自由以电子格式(非印刷)引用、修改、转载, 且不必注明出处(若能注明 CU 更佳)。当然,若有错漏或不当结果,本人也不负任何责任。
若有人愿意整理成册且付印者,本人仅保留著作权,版权收益之 30% 須捐赠于 CU 论坛管理者,剩余不究。
建议參考谈论:
shaoping0330 兄关于变量替换的补充:(链接在改版后已经失效)
shaoping0330 兄关于 RE 的说明:
关于 nested subshell 的讨论:(链接在改版后已经失效)
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8