会一门脚本语言,学 bash 就显得浪费时间?
首先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和命令行都设计拙劣。但现状如此,你不学就寸步难行。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

En langage C, l'instruction if est généralement utilisée pour exécuter un bloc de code spécifique basé sur une seule condition. Cependant, plusieurs conditions peuvent être combinées pour effectuer une détermination à l'aide d'opérateurs logiques tels que &&, || et !. Y compris l'utilisation d'un ET logique (&&) pour juger plusieurs conditions, l'utilisation d'un OU logique (||) pour juger au moins une condition, l'utilisation d'un NON logique (!) pour juger de la négation d'une seule condition, ainsi que l'imbrication d'instructions if et l'utilisation de parenthèses. pour clarifier la priorité.

Sous-système Windows pour Linux La première option consiste à utiliser le sous-système Windows pour Linux ou WSL, qui est une couche de compatibilité permettant d'exécuter les exécutables binaires Linux de manière native sur les systèmes Windows. Il fonctionne pour la plupart des scénarios et vous permet d'exécuter des scripts shell sous Windows 11/10. WSL n'est pas automatiquement disponible, vous devez donc l'activer via les paramètres de développement de votre appareil Windows. Vous pouvez le faire en allant dans Paramètres > Mise à jour et sécurité > Pour les développeurs. Passez en mode développeur et confirmez l'invite en sélectionnant Oui. Ensuite, cherchez W

Au début de cette année, lorsque Microsoft et Canonical ont publié l'espace utilisateur Windows 10 Bash et Ubuntu, j'ai essayé de faire quelques tests de performances préliminaires sur Ubuntu sous Windows 10 par rapport à Ubuntu natif. Cette fois, j'ai publié davantage sur la comparaison de référence entre les natifs purs. Ubuntu et Windows 10. Le test du sous-système Linux pour Windows a terminé tous les tests et a été publié avec la mise à jour anniversaire de Windows 10. L'espace utilisateur Ubuntu par défaut est toujours Ubuntu14.04, mais il peut être mis à niveau vers 16.04. Ainsi, le test est d'abord testé le 14.04, et une fois terminé, le système sera mis à niveau vers la version 16.04.

Les programmeurs utilisent souvent le langage de commande Bash pour créer des scripts shell afin d'automatiser les tâches manuelles. Par exemple, ils créent des scripts Bash pour diverses configurations, opérations sur les fichiers, génération de résultats de build et diverses activités liées au DevOps. Presque tous les systèmes d'exploitation de type Unix ou basés sur Unix fournissent aux utilisateurs un interpréteur Bash préinstallé, nous pouvons donc utiliser Bash pour écrire des scripts d'automatisation plus portables. Comme nous le savons déjà, les scripts Bash font référence à l'écriture d'une série de commandes utilisant la syntaxe du langage de commande Bash, des commandes Bash intégrées et des programmes CLI de base du système d'exploitation tels que GNU Core Tools. Un script Bash standard et démodé exécute généralement certaines commandes et affiche du texte brut sur le terminal.

Nous verrons ici comment élever le nombre A à la puissance B à l'aide d'un script bash. La logique est simple. Nous devons utiliser l'opérateur "**" ou l'opérateur power pour ce faire. Voyons le programme suivant pour comprendre clairement ce concept. Exemple#!/bin/bash#GNUbashScripta=5b=6echo "$(($a**$b))" sortie 15625

La principale différence entre Go et Ruby est que Go est un langage compilé à typage statique qui prend en charge un parallélisme léger et une gestion efficace de la mémoire, et convient à l'écriture d'applications à haute concurrence ; Ruby est un langage interprété à typage dynamique qui prend en charge le véritable parallélisme mais la gestion de la mémoire. nécessite un contrôle manuel et convient à l’écriture d’applications Web flexibles.

1. Introduction à l'instruction if L'instruction if est une instruction de structure de branchement qui effectue différentes opérations en fonction des conditions. L'instruction if se compose généralement d'une expression conditionnelle et d'une ou plusieurs instructions. Si la valeur de l'expression conditionnelle est vraie, alors les instructions de l'instruction if sont exécutées, sinon le bloc d'instruction if est ignoré ; La syntaxe de l'instruction if est la suivante : if(condition)thenstatement;elsestation;endif; où condition est l'expression conditionnelle et instruction est l'instruction SQL qui doit être exécutée. 2. Introduction aux instructions if imbriquées Une instruction if imbriquée fait référence à l'imbrication d'un ou plusieurs blocs d'instructions if dans un bloc d'instructions if pour effectuer différentes opérations basées sur différentes conditions.

Beaucoup de gens peuvent remarquer un phénomène, c'est-à-dire que dans certains langages de programmation modernes (bien sûr, sans faire référence aux langages de programmation "récents"), les opérateurs d'incrémentation et de décrémentation ont été annulés. En d'autres termes, il n'existe pas d'expression telle que i++ ou j-- dans ces langages, mais seulement i+=1 ou j-=1. Cette réponse explorera le contexte et les raisons de ce phénomène du point de vue de la philosophie du design. À proprement parler, il peut être biaisé de dire "i++ est en train de disparaître", car il semble que seuls Python, Rust et Swift parmi les langages de programmation traditionnels ne prennent pas en charge les opérateurs d'incrémentation et de décrémentation. Quand je suis entré en contact avec Python pour la première fois, c'était aussi
