各位 V 友, 求推荐一些学习 bash 的 demo - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Laodaige
V2EX    程序员

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

  •  
  •   Laodaige 2019-04-21 10:31:58 +08:00 4831 次点击
    这是一个创建于 2448 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    推荐看看 google shell style

    似乎还有一个 bash 框架
    shawndev
        18
    shawndev  
       2019-04-21 14:26:31 +08:00   1
    devhints.io 或者搜索公众号文章《 Mac OSX 下好用的命令行》,如果觉得有用欢迎关注我的公众号 晨晓(chenxiaopost)
    tgyday
        19
    tgyday  
       2019-04-21 15:49:43 +08:00
    你要学的不是 bash 是想学习各种命令。。grep、awk、sed ==
    onlyice
        20
    onlyice  
       2019-04-21 16:24:07 +08:00
    https://devhints.io/bash

    要写的时候查。。
    persimmon
        21
    persimmon  
       2019-04-21 17:05:49 +08:00
    guili618
        22
    guili618  
       2019-04-21 19:45:56 +08:00
    http://mingxinglai.com/cn/2013/12/material-of-shell/
    从上面的网址,按图索骥,慢慢来
    zjp
        23
    zjp  
       2019-04-21 21:00:51 +08:00
    @rayhy https://www.explainshell.com/ 里第一个例子好玩 [狗头]
    ps1aniuge
        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 交流群
    ps1aniuge
        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
    sleepm
        26
    sleepm  
       2019-04-22 01:07:38 +08:00 via Android
    Laodaige
        27
    Laodaige  
    OP
       2019-04-22 10:41:09 +08:00
    @tgyday 我想了一下 的确是想学习记住更多的命令,并且可以用一些简单的命令组合 以满足方便工作的事情
    youyoumarco
        28
    youyoumarco  
       2019-04-22 10:41:50 +08:00
    @catalina 对,我也是这样认为,不过也有写的随便的
    yalin
        29
    yalin  
       2019-04-22 14:51:56 +08:00
    《鸟哥的 Linux 私房菜》: http://cn.linux.vbird.org/linux_basic/0320bash.php
    Laodaige
        30
    Laodaige  
    OP
       2019-04-22 16:36:47 +08:00
    @yalin 表示看了一些 鸟哥这个教程很详细 但是看完并记不住,而且有些地方比较嗦 但是还是挺不错的
    yalin
        31
    yalin  
       2019-04-22 16:48:02 +08:00
    @Laodaige 对啊,鸟哥很系统,甚至把来龙去脉都讲清楚了。如果你在工作中实践过一个项目就好了
    Laodaige
        32
    Laodaige  
    OP
       2019-04-23 14:59:43 +08:00
    @yalin 是的 实际的项目可能效果更好一点 所以想寻求 V 友推荐一些 bash 的 demo
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2371 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 10:22 PVG 18:22 LAX 02:22 JFK 05:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86