国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
Stops Script on First Error
Exceptions and Gotchas
When to Use It (and When Not To)
Maison Tutoriel système Linux Que fait Set -e dans un script shell?

Que fait Set -e dans un script shell?

Jul 02, 2025 am 12:43 AM

在Shell腳本中,set -e的作用是讓腳本在任意命令執(zhí)行失?。ǚ祷胤橇銧顟B(tài)碼)時(shí)立即停止運(yùn)行。默認(rèn)情況下,Bash腳本會(huì)繼續(xù)執(zhí)行后續(xù)命令,即使某個(gè)命令已失敗,這可能導(dǎo)致錯(cuò)誤累積或產(chǎn)生意外結(jié)果。使用set -e后,腳本會(huì)在第一個(gè)失敗的命令處終止,例如:腳本執(zhí)行到false命令后將停止,后續(xù)命令不會(huì)運(yùn)行。然而,set -e并非完全可靠,存在一些例外情況:1. if條件中的命令不會(huì)觸發(fā)退出;2. 后接|| true的命令不會(huì)導(dǎo)致腳本退出;3. 管道命令中只有最后一個(gè)命令失敗才會(huì)觸發(fā)退出。為增強(qiáng)腳本健壯性,可結(jié)合set -o pipefail確保管道中任一命令失敗即退出。適合在自動(dòng)化部署或安裝腳本中使用,避免錯(cuò)誤擴(kuò)散;而在交互式腳本或需手動(dòng)處理錯(cuò)誤的場(chǎng)景中應(yīng)避免使用,建議顯式檢查返回碼進(jìn)行處理。

What does set -e do in a shell script?

In a shell script, set -e tells the shell to stop executing the script immediately if any command exits with an error (i.e., returns a non-zero status). This is useful for making scripts safer by preventing them from continuing when something goes wrong.


Stops Script on First Error

By default, Bash scripts continue running even if one of the commands fails. That can lead to unexpected results or compound errors.

With set -e, as soon as a command fails, the script stops. For example:

#!/bin/bash
set -e

echo "Starting"
false
echo "This line won't run"

The output would be:

Starting

And then the script exits after false causes an error.

Note: Some commands might still continue depending on context — more on that in the next section.


Exceptions and Gotchas

Just because you use set -e doesn’t mean every failed command will stop the script. There are a few important exceptions:

  • Commands in if conditions don’t trigger set -e. That’s intentional — you're usually checking whether something failed.
  • Commands followed by || true won’t cause the script to exit either.
  • Pipelines like command1 | command2 only trigger set -e if the last command in the pipeline fails.

So, while set -e helps catch many issues, it's not foolproof. You still need to be careful about how you structure your commands.

If you want stricter behavior, consider combining it with other options like set -o pipefail to make pipelines fail the script if any part fails.


When to Use It (and When Not To)

Use set -e when writing automation scripts where errors should stop execution — like deployment or setup scripts.

Avoid using it in interactive scripts or cases where you expect some failures and want to handle them manually. In those situations, it's better to check return codes explicitly:

some_command
if [ $? -ne 0 ]; then
  echo "Something went wrong, but I'll handle it here."
fi

Also, keep in mind that not all shells behave the same way with set -e, so if portability matters, test carefully.


It’s a handy flag but not magic — basically just makes scripts bail faster when things go south.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1502
276
Installez le guacamole pour l'accès à distance Linux / Windows dans Ubuntu Installez le guacamole pour l'accès à distance Linux / Windows dans Ubuntu Jul 08, 2025 am 09:58 AM

En tant qu'administrateur système, vous pouvez vous retrouver (aujourd'hui ou à l'avenir) dans un environnement où Windows et Linux coexistent. Ce n'est un secret pour personne que certaines grandes entreprises préfèrent (ou doivent) gérer certains de leurs services de production dans Windows Boxes et

Comment trouver mon adresse IP privée et publique dans Linux? Comment trouver mon adresse IP privée et publique dans Linux? Jul 09, 2025 am 12:37 AM

Dans Linux Systems, 1. Utilisez la commande IPA ou HostName-I pour afficher la propriété intellectuelle privée; 2. Utilisez curlifconfig.me ou curlipinfo.io/ip pour obtenir une adresse IP publique; 3. La version de bureau peut afficher IP privé via les paramètres système, et le navigateur peut accéder à des sites Web spécifiques pour afficher la propriété IP publique; 4. Les commandes communes peuvent être définies sous forme d'alias pour un appel rapide. Ces méthodes sont simples et pratiques, adaptées aux besoins de visualisation IP dans différents scénarios.

Comment installer Nodejs 14/16 & npm sur Rocky Linux 8 Comment installer Nodejs 14/16 & npm sur Rocky Linux 8 Jul 13, 2025 am 09:09 AM

Construit sur le moteur V8 de Chrome, Node.js est un environnement d'exécution JavaScript open source et axé sur les événements con?u pour la construction d'applications évolutives et les API backend. NodeJS est connu pour être léger et efficace en raison de son modèle d'E / S non bloquant et

Exigences du système pour installer Linux Exigences du système pour installer Linux Jul 20, 2025 am 03:49 AM

LinuxCanrunonModesthardwarewithSpecificminimumRequirements.A1GHZProcessor (x86orx86_64) est ensemble, avec-corecpureComend.r.R AmshouldBeatleast512MBForCommand-lineUseor2gbfordesktopenvironments.

Comment installer MySQL 8.0 sur Rocky Linux et Almalinux Comment installer MySQL 8.0 sur Rocky Linux et Almalinux Jul 12, 2025 am 09:21 AM

écrit en C, MySQL est une source ouverte, multiplateforme, et l'un des systèmes de gestion de base de données relationnels les plus utilisés (RDMS). Il fait partie intégrante de la pile de lampes et est un système de gestion de base de données populaire dans l'hébergement Web, l'analyse des données,

Ubuntu 25.04 ?Puffin courageux?: un bond en avant avec Gnome 48 et HDR Brillance Ubuntu 25.04 ?Puffin courageux?: un bond en avant avec Gnome 48 et HDR Brillance Jul 12, 2025 am 09:28 AM

Ubuntu a longtemps été un bastion d'accessibilité, de vernis et de puissance dans l'écosystème Linux. Avec l'arrivée d'Ubuntu 25.04, nommé ?Plucky Puffin?, Canonical a à nouveau démontré son engagement à fournir un

Comment installer MongoDB sur Rocky Linux et Almalinux Comment installer MongoDB sur Rocky Linux et Almalinux Jul 12, 2025 am 09:29 AM

MongoDB est une base de données NOSQL à haute performance et hautement évolutive de documents construite pour gérer le trafic intense et de grandes quantités de données. Contrairement aux bases de données SQL traditionnelles qui stockent les données dans les lignes et les colonnes dans les tables, MongoDB structure les données dans un J

Comment installer Magento sur Rocky Linux et Almalinux Comment installer Magento sur Rocky Linux et Almalinux Jul 08, 2025 am 09:50 AM

écrit en PHP, Magento est une plate-forme de commerce électronique à source ouverte populaire et polyvalente qui offre aux entreprises un panier en ligne. Il tire parti de divers cadres PHP tels que Symfony et Laminas pour améliorer sa fonctionnalité et sa convivialité. Mage

See all articles