请问Bash语言要不要花时间学?



最近在Linux上部署我司的产品,遇到sh和ssh这两个东西, 稍微了解了一下,大有乾坤啊,bash 语言写的脚本,能把内部到的内存暴露的那么清晰。 想要玩儿转Linux,就给一定要知道内核知识,至少个知道完整的运行原理。

再往下,就是汇编了。 值不值得学习这些啊。
Meltdown 反党->反国->反中->反华
不值得。Bash的语法很简单,但是自带的功能比较有限,稍微复杂一点的script要大量借助Linux下的其它工具,譬如sed, awk之类的,要熟练掌握这些工具花的时间比学习Bash本身多多了。现在简单的shell script可以让AI写;复杂点的,我通常是用Python写然后加个shell script的wrapper。Python可比Bash好写多了。

至于汇编,这可真是屠龙之技了。我偶尔还需要写一点,但不是独立编译单元,都是内嵌在C++里的;大部分时候用指令集的intrinsics就足够了。而且即使是指令集的intrinsics,不是performance critical的模块一般也用不到,尤其是在x86和ARM这种编译器已经优化得非常好的平台上。

不过能看懂汇编对于调试代码还是很有用的。Linux内核的工作原理和系统API了解一下也没坏处。
ismynewmail [漢奸想當大漢奸] 极权压迫所有人, 反抗的间隙我还要尽情嘲弄它的一切. 苏联笑话 https://pincong.rocks/article/1644
bash 是 shell, 作为脚本的话没 lua 体积优势, 也没 python 的高能力. 如是运维可以在任何 sh 上下功夫, 若是开发者的话还是要专注在编程语言上.

例如我能看懂 C 却从不拿它干活, 会用我主力语言 c++ 封装了就用. 有个 bash 手册来着? 大致过一遍对功能有个索引就好, 如遇要用的情况依照之前的索引翻手册就好.

Assembly 是不可移植的, 原先有个 High-level assembly language 没发展起来. 注重效率的话就 C 了, asm 是全力避过之后剩下的才用它来解决, 我只用它做有限过程式(函数式)开发, 连个循环或分支都不用它来做, jmp 错地址就会直接来个难以寻找的 bug 那会变成技术自杀.
国台办 青天白日满地红
没必要花时间学,只要大概知道语法就好了

推荐你使用 POSIX Shell 规范编写脚本,兼容性更好

可以使用vscode,下载一个lint插件,让自己的代码更加规范

新手一般需要做到:

  • 了解变量定义,比如上一条命令的返回值 $?
  • echo $? # 输出上一行命令返回值


  • 了解一些特殊符号的用途,比如 ` | & > 
  • 了解 for 循环 、if 语法,熟练调用一些常见的命令比如sed 、awk、cut等,一般就没问题了。
  • 演示一个小Demo,查询你的CPU型号

    #!/bin/sh

    cat /proc/cpuinfo | grep -i "model name" | head -n1 | awk -F : '{print $2}'


大概就这样了~~
johndoe7 挠挠
shell跟正常的编程语言的逻辑一样,唯一的区别在于能方便地操纵Linux系统。买个工具书就行,需要写的时候查查看能写出来就行,不用太花时间学,除非你是做运维的要天天写。
rowlandheights 尊包讨李,天诛国贼李克强
bash不是一两天就能学会吗?还用得着上来问这个问题?

https://tldp.org/LDP/abs/html/

拿走不谢
屠支大佐毛遮洞 革命不是请客吃饭。你们要反共,请先写好遗书,交待好后事,我党图你是不会手软的。
小同志,我看你挺闲的,要不把《习少佐谈治国理政》《洞大佐语录》先读一遍吧?
这种脚本语言随用随学就行了,做做批处理和自动化,除了系统admin没人会天天用到的吧
不值得,语法太差。看懂和修改很容易,不用学也能照猫画虎,写新的很难,而且写脚本不如随便用一个你熟悉的语言,比如php python ruby。如果实在必须写,像别人说的,可以用AI。
FXXKXIJINPING 习近平亲自试插齐心的屄,并为习仲勋的鸡巴指明了方向。
其实汇编的可玩性比你说的 bash 强多了。但是汇编用处很少,它不能用于编写软件的(开发效率过低),只用于比如说利用 cpu 某些并行特性的指令,给其他 c++ 语言提供实现更高效的函数这样的功能。
天下无贼 你想多了…………
Bash就是Linux下的命令行工具吧,想初步掌握Linux,是要学的,也没多大学习量,甚至不值得单独发帖询问😁
但学会了也就是操作Linux而已,如果要做一些实用的功能,还是再学个Python比较好。

要发言请先登录注册