Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung Python-Tutorial 会一门脚本语言,学 bash 就显得浪费时间?

会一门脚本语言,学 bash 就显得浪费时间?

Jun 06, 2016 pm 04:22 PM
bash else if ruby

首先bash虽然有if_else,可以调系统命令。但是许多局限性比如不支持多线程,没有库。所以会py或者ruby再去学bash,这是没必要 的。

回复内容:

日常工作,很多工作都是很琐碎 很细节的,你想不到你会遇到什么具体的小任务。
这时,你总不能打开vim 写个python脚本。
很可能还没写完#! ,shell 可能已经搞定了任务了。

所以会shell,熟练掌握各种命令,会sed awk,给日常工作带来很大的效率提升。
相信每一个Linux下的讨饭吃的程序员都深有体会。

琐碎任务一次性的任务交给shell; 注定要扩展,代码量不小,要维护的任务交给python.
需要效率的工作交给C。从来就不冲突。 学习 bash,并不仅仅是学习 bash 本身的语法,而是要去学习一下各种命令行工具的使用方式……
说到底,一切都是为了提高生产效率啊! 有py shell和ruby shell等等一大堆东西 另外一个角度看, 是shell script 让你拥有system utility的能力, 所有已安装的程序都洗干净了排着队等你调戏。sed, awk, kill, cat, ps, mkdir, rm, rsync, ..... 数都数不过来的别人幸苦调教好的漂亮姑娘,而*nix与生俱来的特性(redirection, pipe ...)又让它们可以很好的协同工作(因此do one thing, well) 。

如果你的程序有很多custom logic, 需要面向复杂些的数据结构,shell 的笨拙就会比较明显,这个时候就去找sexy的Python吧。 用Linux,bash还是要懂的。但是bash的语法确实有点奇怪(通常都是把c的语法当做是标准语法,所以说一门语言语法奇怪,就是说这门语言跟c的语法规则相去甚远),所以要想写好用的script,最好是学一门基于c的比较现代的语言。我现在用的是Python,然后需要执行bash的命令,就调用os,基本上所以的bash命令都可以用os.system("")这种方式运行。迄今为止,我唯一发现不能用os.system运行的就是 cd. Python中可以用os.chdir("")来实现 bash 的 cd. 今天服务器异地迁徙,我的shell脚本成功运维了500台服务器,包括对对等拷贝虚拟机配置按IP修改,组件启停,日志备份,服务器运行状态监控。shell起码不需要python解释器,代码上又异常优雅,你觉得shell不舒服,还是受到传统命令式编程的框架桎梏。每次打开vim看到花花绿绿又十分简洁的shell都让人陶醉,谁他妈再让我写Java或者python 去搞运维我就跟谁急 如果你是写需要长期运营的脚本,强烈推荐用python(或ruby等其他),倒不是说这样会更快,更方便,而是可读和可维护会好些,类似的还有makefile等,bash、sed、awk和make中那些奇怪的语法和符号的学习维护成本真的不如python中多啰嗦几句,而且用python可以做到一招通杀大多数需求,不然你的脑子得在bash,sed,awk之间来回切换
但如果你的脚本可能只是运行个一次,或临时一条命令,用bash还是很方便的
所以,bash不用很精通,但要保证会到一定水平,日常的工作区分来做
然而你也不可避免会碰到阅读维护其他人代码的情况,所以还是大致要了解下,比如if的语法,至于if里面的-a -o -f之类的可以问度娘了 当然不是浪费时间了(不然你让我们这种会用shell的情何以堪...)

假设路上有一坨屎, 你是用铲子(shell)铲掉, 还是开个铲车(python)来搞?
当然, 也会有粪坑, 但是大部分情况下是路上横躺了一坨屎, 极有可能还是别人丢过来的.

而且shell也没那么恶心嘛. 真正的脚本呢. 在*nix服务器下调试程序,查看程序debug日志或者运行日志,如果不懂shell,蛋疼死你 bash和命令行都设计拙劣。但现状如此,你不学就寸步难行。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie schreibe ich if in C-Sprache, um mehrere Bedingungen zu beurteilen? Wie schreibe ich if in C-Sprache, um mehrere Bedingungen zu beurteilen? Mar 25, 2024 pm 03:24 PM

In der C-Sprache wird die if-Anweisung normalerweise verwendet, um einen bestimmten Codeblock basierend auf einer einzelnen Bedingung auszuführen. Es können jedoch mehrere Bedingungen kombiniert werden, um mithilfe logischer Operatoren wie &&, || und ! eine Entscheidung zu treffen. Einschließlich der Verwendung von logischem UND (&&) zur Beurteilung mehrerer Bedingungen, der Verwendung von logischem ODER (||) zur Beurteilung mindestens einer Bedingung, der Verwendung von logischem NICHT (!) zur Beurteilung der Negation einer einzelnen Bedingung sowie der Verschachtelung von if-Anweisungen und der Verwendung von Klammern um die Priorität zu klären.

Verschiedene Möglichkeiten, Shell-Skriptdateien unter Windows auszuführen Verschiedene Möglichkeiten, Shell-Skriptdateien unter Windows auszuführen Apr 13, 2023 am 11:58 AM

Windows-Subsystem für Linux Die erste Option ist die Verwendung des Windows-Subsystems für Linux oder WSL, einer Kompatibilitätsschicht für die native Ausführung binärer ausführbarer Linux-Dateien auf Windows-Systemen. Es funktioniert für die meisten Szenarien und ermöglicht Ihnen die Ausführung von Shell-Skripten in Windows 11/10. WSL ist nicht automatisch verfügbar, daher müssen Sie es über die Entwicklereinstellungen Ihres Windows-Geräts aktivieren. Sie können dies tun, indem Sie zu Einstellungen > Update & Sicherheit > Für Entwickler gehen. Wechseln Sie in den Entwicklermodus und bestätigen Sie die Abfrage mit Ja. Suchen Sie als nächstes nach W

Leistungsvergleich von Ubuntu Bash: Ubuntu vs. Win10 Anniversary Edition Leistungsvergleich von Ubuntu Bash: Ubuntu vs. Win10 Anniversary Edition Jan 04, 2024 pm 09:36 PM

Zu Beginn dieses Jahres, als Microsoft und Canonical Windows 10 Bash und Ubuntu User Space veröffentlichten, habe ich versucht, einige vorläufige Leistungstests von Ubuntu unter Windows 10 im Vergleich zu nativem Ubuntu durchzuführen. Dieses Mal habe ich mehr über den Benchmark-Vergleich zwischen nativem Pure veröffentlicht Ubuntu und Windows 10. Der Linux-Subsystemtest für Windows hat alle Tests abgeschlossen und wurde mit dem Windows 10 Anniversary Update veröffentlicht. Der Standard-Ubuntu-Benutzerbereich ist immer noch Ubuntu14.04, kann aber auf 16.04 aktualisiert werden. Daher wird der Test zunächst am 14.04 getestet und nach Abschluss wird das System auf 16.04 aktualisiert

Fünf wenig bekannte moderne Bash-Skripttechniken Fünf wenig bekannte moderne Bash-Skripttechniken Jun 26, 2023 pm 08:36 PM

Programmierer verwenden häufig die Befehlssprache Bash, um Shell-Skripte zur Automatisierung manueller Aufgaben zu erstellen. Sie erstellen beispielsweise Bash-Skripte für verschiedene Konfigurationen, Dateioperationen, die Generierung von Build-Ergebnissen und verschiedene DevOps-bezogene Aktivitäten. Fast alle Unix-ähnlichen oder Unix-basierten Betriebssysteme stellen Benutzern einen vorinstallierten Bash-Interpreter zur Verfügung, sodass wir mit Bash mehr portable Automatisierungsskripte schreiben können. Wie wir bereits wissen, bezieht sich Bash-Scripting auf das Schreiben einer Reihe von Befehlen unter Verwendung der Syntax der Bash-Befehlssprache, integrierter Bash-Befehle und zentraler CLI-Programme des Betriebssystems wie GNU Core Tools. Ein standardmäßiges und altmodisches Bash-Skript führt normalerweise einige Befehle aus und zeigt Klartext auf dem Terminal an

Bash-Programm, um A hoch B zu finden? Bash-Programm, um A hoch B zu finden? Aug 30, 2023 pm 09:01 PM

Hier erfahren Sie, wie Sie mithilfe eines Bash-Skripts die Zahl A hoch B erhöhen. Die Logik ist einfach. Dazu müssen wir den „**“-Operator oder den Power-Operator verwenden. Sehen wir uns das folgende Programm an, um dieses Konzept klar zu verstehen. Beispiel#!/bin/bash#GNUBashScripta=5b=6echo „$(($a**$b))“ Ausgabe 15625

Eingehende Analyse der Ähnlichkeiten und Unterschiede zwischen Golang und Ruby Eingehende Analyse der Ähnlichkeiten und Unterschiede zwischen Golang und Ruby Jun 01, 2024 pm 08:46 PM

Der Hauptunterschied zwischen Go und Ruby besteht darin, dass Go eine statisch typisierte kompilierte Sprache ist, die leichte Parallelität und effiziente Speicherverwaltung unterstützt, und sich zum Schreiben von Anwendungen mit hoher Parallelität eignet. Ruby ist eine dynamisch typisierte interpretierte Sprache, die echte Parallelität, aber Speicherverwaltung unterstützt erfordert eine manuelle Steuerung und eignet sich zum Schreiben flexibler Webanwendungen.

So verwenden Sie verschachtelte if-Anweisungen in gespeicherten MySQL-Prozeduren So verwenden Sie verschachtelte if-Anweisungen in gespeicherten MySQL-Prozeduren May 26, 2023 pm 12:07 PM

1. Einführung in die if-Anweisung Die if-Anweisung ist eine verzweigte Strukturanweisung, die je nach Bedingungen verschiedene Operationen ausführt. Die if-Anweisung besteht normalerweise aus einem bedingten Ausdruck und einer oder mehreren Anweisungen. Wenn der Wert des bedingten Ausdrucks wahr ist, werden die Anweisungen in der if-Anweisung ausgeführt. Andernfalls wird der if-Anweisungsblock übersprungen. Die Syntax der if-Anweisung lautet wie folgt: if(condition)thenstatement;elsestatement;endif; wobei „condition“ der bedingte Ausdruck und „statement“ die auszuführende SQL-Anweisung ist. 2. Einführung in verschachtelte if-Anweisungen Eine verschachtelte if-Anweisung bezieht sich auf die Verschachtelung eines oder mehrerer if-Anweisungsblöcke innerhalb eines if-Anweisungsblocks, um verschiedene Operationen basierend auf unterschiedlichen Bedingungen auszuführen.

Warum haben Python, Ruby und andere Sprachen den Inkrementoperator abgelehnt? Warum haben Python, Ruby und andere Sprachen den Inkrementoperator abgelehnt? May 11, 2023 pm 04:37 PM

Vielen Menschen ist möglicherweise ein Phänomen aufgefallen, nämlich dass in einigen modernen Programmiersprachen (natürlich nicht in Bezug auf „neue“ Programmiersprachen) die Inkrementierungs- und Dekrementierungsoperatoren abgeschafft wurden. Mit anderen Worten, es gibt in diesen Sprachen keinen Ausdruck wie i++ oder j--, sondern nur i+=1 oder j-=1. Ein solcher Ausdruck. In dieser Antwort werden die Hintergründe und Gründe für dieses Phänomen aus der Perspektive der Designphilosophie untersucht. Streng genommen könnte die Aussage „i++ verschwindet“ voreingenommen sein, da es den Anschein hat, dass nur Python, Rust und Swift unter den Mainstream-Programmiersprachen die Inkrement- und Dekrementoperatoren nicht unterstützen. Als ich zum ersten Mal mit Python in Kontakt kam, war dies auch der Fall

See all articles