技术解析

shell 脚本的教程
0
2021-06-30 14:33:17
idczone

大家有什么推荐的么,在线教程或者书籍都可以,欢迎推荐


man bash

自己学,然后写一本。

咳咳,正在自己学,怎么学呢

现在好像默认的 shell 是 dash 吧,这样 man 出来的是命令行?跟写脚本文件一样?

我不知道 dash,但是大部分都是兼容 bash 的。而且,一般服务器端的脚本执行也都是 bash 吧。

看看这个 http://tldp.org/LDP/abs/html/

鸟哥的 Linux 系列书籍不错。
实际运用都是拿到需求后 Google 解决方案。

pip install cheat

我个人比较喜欢《 Shell 脚本学习指南》这本,另外我很好奇 dash 是什么?

一般默认都是 bash,但是不一定,不过 sh 是都有的。

我觉得还是仔细考虑下是不是一定要用 shell
感觉学 shell 非常痛苦… 各种奇技淫巧 读也读不懂

sh 就是指向 dash 的软连接

我说的是脚本,不是 Linux 开发,基本语法之类的

是呢,那你觉得什么脚本好一些,python 吗


你说的 dash 可能是一个 Mac 的技术手册 App
1. sh 是 sh,bash 是 bash。他们不是一个东西,sh 更基础。
2. shell 脚本就是基本 命令堆起来的。


如果你会 PHP/Python/Ruby/Go/Node 这些语言,可以用他们来实现你的需求。
比原生 shell 来的快,只要目标机器装有这些语言的支持就行。

我大概查了一下,你可能说的是 ubuntu 自某个版本后把 sh 指向了 dash,之前都是指向 bash 的。shell 脚本可以指定以什么 shell 执行的,这些都不是问题,最通用的应该还是 bash。

不是,我不用 mac,dash 是符合 posix 标准的 shell,是 ubuntu 默认的 shell,sh 就是指向 dash 的软连接。是命令堆起来的我知道,但是还是有差别的嘛,就比方说写循环,写函数之类的

ubuntu6.5 以后就默认 dash 了,这俩差别很小,我去搜搜你说的那本

全英文看起来有压力啊

http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80

直接去翻系统的 脚本。。。。。翻个几个就差不多了。。。

仍然推荐 bash: 足够普及, 而且比 posix sh 多一些方便的功能. 看 abs 那本书就行.
性能一般不是问题, 或者说需要 sh 做的事再慢也有限


要不你去确认一下? Ubuntu 默认的是 Bash,Dash 是哪来的?
sh 是 linux 最核心的命令解释器,bash/zsh 这些是基于它的扩展。你搞反了。
命令行也可以直接写函数和循环啊。shell 脚本文件只是一个承载命令的文件而已。

这网站不错啊,回头看看

abs 那本?没懂

确认了,ubuntu 默认的就是 dash,https://wiki.ubuntu.com/DashAsBinSh
只不过这两个的差别很小,怎么大家一直在讨论这个问题了...
你说的我懂,但是我就是需要一个教程...比方说,我有一个很复杂的功能,总不能一行一行敲命令行吧,我要写脚本程序的话,语法缩进之类的和命令行是有差别的,关键是,命令行也要学啊,所以都得需要一个教程啊

恕我愚钝,dash 是啥?


好吧,算我孤陋寡闻,还真有个 Dash。从未用过。从 0804 上手 Ubuntu 开始就一直用的是 Bash。
是有略微的差别,但是不大。你去网上搜的解决方案基本都可以直接放文件里跑。
缩进不影响功能,只影响阅读。
都是一步步来的,我也是一个个命令手动试,成功了放文件里。

shell 不是 python,不强制缩进,语法也和命令行没区别,教程到网上随便一找就有了。推荐《 Linux 命令行与 shell 脚本编程大全》,还有 https://github.com/jlevy/the-art-of-command-line

https://book.douban.com/subject/25791952/



同样学习了,从没有了解过 dash - -

恩,好的
可以参考下回复,说的挺清楚了
还是有些需要注意的问题的,有些问题写命令行的话,是不会遇到的
谢谢~

Advanced Bash-Scripting Guide http://tldp.org/LDP/abs/html/

大神们没人看过这个网站呢? http://man.linuxde.net


这个太差了,很简单的命令都识别不了。
试试了下:
find . -type f
=>
很抱歉,你查询的 *** 命令还没有被录入!
用这个好了:
https://explainshell.com/

原来如此,多谢大神指点
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服