想学习 bash 脚本,之前学习的东西都比较零零散散,想通过学习一些 bash 的简单 demo,建立一个比较系统的概念。希望各位 V 有推荐一些学习资源。不胜感激!
1
asaxing 2019-04-21 10:47:14 +08:00
Github 上找啊,我看过这个: https://github.com/fengyuhetao/shell
|
2
rayhy 2019-04-21 11:56:47 +08:00 1
|
3
catalina 2019-04-21 12:01:11 +08:00 via Android 2
你其实可以去找几个 linux 挖矿蠕虫的定时脚本,对照着资料看,要做到自动化入侵流程,这些脚本都是 shell 精髓的凝聚产物。
|
4
Mistwave 2019-04-21 12:23:48 +08:00 via iPhone
挺矛盾的
学 demo 是快速上手能干活 想要系统的概念就得系统地学 看书 听课 |
5
lihongjie0209 2019-04-21 12:50:11 +08:00
变量
函数 分支 循环 辅助一些基本的数据类型 脚本语言就这么些东西,唯一的不同的就是语言语法在现在看来很奇葩: 比如说 bash 我觉得 bash 脚本这种东西一行可以写完的就用 bash, 写不完的尽量用 Python 之类的现代化语言 |
6
Laodaige OP @Mistwave 是的 之前学的东西挺零散的 看书 听课 学了一大堆东西 却没有成体系 还费时间 就想直接学点小 demo 这样更有映象些
|
7
Laodaige OP @lihongjie0209 感谢回复! bash 相比现在语言的语法看起来是有点奇怪 那种比较大一点的处理用 python 是要方便很多 我想学习下 bash 可能是因为想更加系统的了解一下吧 之前太零散了
|
11
lihongjie0209 2019-04-21 13:00:21 +08:00
@Laodaige bash 除了一些基本的编程语言特性,其他的功能都是由第三方的 package 提供的, 你说的学习 bash 是指学习 bash 语言呢还是学习第三方 package ?
|
12
panda1001 2019-04-21 13:04:26 +08:00 via Android
oneinstack 秋水逸冰博客的各种脚本源码
|
13
SuperMild 2019-04-21 13:11:21 +08:00
鉴于现在各种编程语言及 IDE/编辑器的高速发展,感觉 bash 越来越没有存在感了,与其多学一套奇葩语法,还不如直接使用自己熟悉的语言。
|
14
Laodaige OP @lihongjie0209 应该是学习 bash 语言本身吧 我的初衷应该是想通过学习一些 demo 进一步加深理解 bash 的命令 以满足日常的工作需求吧 不用每次遇到一下简单的操作都去百度啥的 感觉挺耗时间的。
|
15
lihongjie0209 2019-04-21 13:42:34 +08:00
@Laodaige
for if..else while 有什么需要学习的? |
16
wheeler 2019-04-21 13:44:34 +08:00
shell 坑多,看这里: https://github.com/koalaman/shellcheck
|
17
abmin521 2019-04-21 13:50:38 +08:00 via Android
|
18
shawndev 2019-04-21 14:26:31 +08:00 1
devhints.io 或者搜索公众号文章《 Mac OSX 下好用的命令行》,如果觉得有用欢迎关注我的公众号 晨晓(chenxiaopost)
|
19
tgyday 2019-04-21 15:49:43 +08:00
你要学的不是 bash 是想学习各种命令。。grep、awk、sed ==
|
20
onlyice 2019-04-21 16:24:07 +08:00
|
21
persimmon 2019-04-21 17:05:49 +08:00
|
22
guili618 2019-04-21 19:45:56 +08:00
http://mingxinglai.com/cn/2013/12/material-of-shell/
从上面的网址,按图索骥,慢慢来 |
23
zjp 2019-04-21 21:00:51 +08:00
@rayhy https://www.explainshell.com/ 里第一个例子好玩 [狗头]
|
24
ps1aniuge 2019-04-21 22:36:35 +08:00
问:为什么不学 shell ?
答: 1 shell 太老了。语法上有各种小小的问题。(例如:详见 shell 十三问的 for 篇) 2 shell 不是面向对象的,功能不强。 3 shell 的正则,学习曲线陡峭。复杂的正则,很容易出错。 实际上 ps 和 py 类似。都是用 [简单的对象方法] ,来实现 [复杂正则] 的功能。但是呢,shell 没有对象,也没有方法。 4 常用外部 shell 命令还是要学,要会的。 5 java 在发展,jshell,java12 快出了。 .net 在发展,.net3 快出了。 python 在发展,py37 快完善了。 perl 不怎么发展,排名蹭蹭跌。 bash 和 shell 命令,基本不发展。shell 已经完美了么? shell 中连布尔型变量都没有。 6 shell 中的坑,幺蛾子,隐藏的问题太多。powershell 没这种问题。 set +o noglob touch /tmp/a1log A="/tmp/a*log" ;echo $A #返回 /tmp/a1log B='/tmp/a*log' ;echo $B #返回 /tmp/a1log 问:如何看待 bash,及 linux shell 脚本将来的地位,命运? 问:powershell 在 linux 中的前景如何? 答: 就好像 [气泵射钉枪] 必将取代 [锤子] 一样,先进生产力必然代替落后的。 就好像面向对象的 powershell,必然取代面向字符的 bat 那样。 powershell 发展成熟后。以 bat,bash 为代表的,上一代面向字符串的脚本语言,面向字符串的命令,难免被边缘化。 过几年后,开机启动脚本,特简单的脚本中,或许还残留有 bat,bash,字符串命令的身影。 问:天天有分享,周周脚本题,的 powershell 学习研究群在哪? 答: QQ 群号=183173532 名称=powershell 交流群 |
25
ps1aniuge 2019-04-21 22:39:36 +08:00
问:目前哪些 linux 能安装上 powershell ?
答: ◦Windows 10 IoT Core(arm32 的 cpu,本质上是 win,树莓派硬件上的 win10) ◦Raspbian Stretch(arm32 的 cpu,树莓派官方操作系统 Raspbian,基于大便,所以叫树莓便。) ◦MAC OS X 10.11 ◦Ubuntu 14.04/16.04/18.04 ◦Debian 8.x/9.x ◦CentOS 7.x/RHEL 7.x/Fedora26 及更高版本 ◦open SUSE 42 及以上 /SUSE Linux Enterprise Server 12 SP2 及以上 ◦Docker。LINUX 发行版中,安装容器 dockerd,docker 中运行 powershell。 ◦Arch Linux ( arch linux 没有版本号) ◦Linux AppImage 容器(portable application single binary) https://github.com/probonopd/AppImageKit ◦Kali Linux ◦alpine Linux 这是 docker 专用的,轻量级 linux 发行版 安装方法: https://docs.microsoft.com/zh-cn/powershell/scripting/setup/installing-powershell-core-on-linux?view=powershell-6 |
26
sleepm 2019-04-22 01:07:38 +08:00 via Android
|
28
youyoumarco 2019-04-22 10:41:50 +08:00
@catalina 对,我也是这样认为,不过也有写的随便的
|
29
yalin 2019-04-22 14:51:56 +08:00
《鸟哥的 Linux 私房菜》: http://cn.linux.vbird.org/linux_basic/0320bash.php
|