首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

各位 V 友, 求推荐一些学习 bash 的 demo

  •  
  •   Laodaige · 205 天前 · 2527 次点击
    这是一个创建于 205 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想学习 bash 脚本,之前学习的东西都比较零零散散,想通过学习一些 bash 的简单 demo,建立一个比较系统的概念。希望各位 V 有推荐一些学习资源。不胜感激!

    32 回复  |  直到 2019-04-23 14:59:43 +08:00
        1
    asaxing   205 天前
    Github 上找啊,我看过这个: https://github.com/fengyuhetao/shell
        2
    rayhy   205 天前   ♥ 1
        3
    catalina   205 天前 via Android   ♥ 2
    你其实可以去找几个 linux 挖矿蠕虫的定时脚本,对照着资料看,要做到自动化入侵流程,这些脚本都是 shell 精髓的凝聚产物。
        4
    Mistwave   205 天前 via iPhone
    挺矛盾的
    学 demo 是快速上手能干活
    想要系统的概念就得系统地学 看书 听课
        5
    lihongjie0209   205 天前
    变量
    函数
    分支
    循环
    辅助一些基本的数据类型

    脚本语言就这么些东西,唯一的不同的就是语言语法在现在看来很奇葩: 比如说 bash

    我觉得 bash 脚本这种东西一行可以写完的就用 bash, 写不完的尽量用 Python 之类的现代化语言
        6
    Laodaige   205 天前
    @Mistwave 是的 之前学的东西挺零散的 看书 听课 学了一大堆东西 却没有成体系 还费时间 就想直接学点小 demo 这样更有映象些
        7
    Laodaige   205 天前
    @lihongjie0209 感谢回复! bash 相比现在语言的语法看起来是有点奇怪 那种比较大一点的处理用 python 是要方便很多 我想学习下 bash 可能是因为想更加系统的了解一下吧 之前太零散了
        8
    Laodaige   205 天前
    @asaxing 感谢回复! 这个项目感觉挺不错的 可以学习一下
        9
    Laodaige   205 天前
    @catalina 好的 我去找一下
        10
    Laodaige   205 天前
    @rayhy 谢谢! 第一个解释 bash 命令的网站挺不错的
        11
    lihongjie0209   205 天前
    @Laodaige bash 除了一些基本的编程语言特性,其他的功能都是由第三方的 package 提供的, 你说的学习 bash 是指学习 bash 语言呢还是学习第三方 package ?
        12
    panda1001   205 天前 via Android
    oneinstack 秋水逸冰博客的各种脚本源码
        13
    SuperMild   205 天前
    鉴于现在各种编程语言及 IDE/编辑器的高速发展,感觉 bash 越来越没有存在感了,与其多学一套奇葩语法,还不如直接使用自己熟悉的语言。
        14
    Laodaige   205 天前
    @lihongjie0209 应该是学习 bash 语言本身吧 我的初衷应该是想通过学习一些 demo 进一步加深理解 bash 的命令 以满足日常的工作需求吧 不用每次遇到一下简单的操作都去百度啥的 感觉挺耗时间的。
        15
    lihongjie0209   205 天前
    @Laodaige
    for if..else while 有什么需要学习的?
        16
    wheeler   205 天前
    shell 坑多,看这里: https://github.com/koalaman/shellcheck
        17
    abmin521   205 天前 via Android
    @catalina 挖矿的还有很多奇淫技巧 一环套一环 不适合初学者

    推荐看看 google shell style

    似乎还有一个 bash 框架
        18
    shawndev   205 天前   ♥ 1
    devhints.io 或者搜索公众号文章《 Mac OSX 下好用的命令行》,如果觉得有用欢迎关注我的公众号 晨晓(chenxiaopost)
        19
    tgyday   205 天前
    你要学的不是 bash 是想学习各种命令。。grep、awk、sed ==
        20
    onlyice   205 天前
    https://devhints.io/bash

    要写的时候查。。
        21
    persimmon   205 天前
        22
    guili618   205 天前
    http://mingxinglai.com/cn/2013/12/material-of-shell/
    从上面的网址,按图索骥,慢慢来
        23
    zjp   205 天前
    @rayhy https://www.explainshell.com/ 里第一个例子好玩 [狗头]
        24
    ps1aniuge   205 天前
    问:为什么不学 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   205 天前
    问:目前哪些 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   205 天前 via Android
        27
    Laodaige   204 天前
    @tgyday 我想了一下 的确是想学习记住更多的命令,并且可以用一些简单的命令组合 以满足方便工作的事情
        28
    youyoumarco   204 天前
    @catalina 对,我也是这样认为,不过也有写的随便的
        29
    yalin   204 天前
    《鸟哥的 Linux 私房菜》: http://cn.linux.vbird.org/linux_basic/0320bash.php
        30
    Laodaige   204 天前
    @yalin 表示看了一些 鸟哥这个教程很详细 但是看完并记不住,而且有些地方比较啰嗦 但是还是挺不错的
        31
    yalin   204 天前
    @Laodaige 对啊,鸟哥很系统,甚至把来龙去脉都讲清楚了。如果你在工作中实践过一个项目就好了
        32
    Laodaige   203 天前
    @yalin 是的 实际的项目可能效果更好一点 所以想寻求 V 友推荐一些 bash 的 demo
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   950 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 20:46 · PVG 04:46 · LAX 12:46 · JFK 15:46
    ♥ Do have faith in what you're doing.