Maison Opération et maintenance exploitation et maintenance Linux Trier de manière exhaustive les fonctions et l'utilisation des différentes parenthèses dans le shell sous Linux

Trier de manière exhaustive les fonctions et l'utilisation des différentes parenthèses dans le shell sous Linux

Sep 18, 2020 pm 04:53 PM
linux

Quand j'apprenais la programmation shell, j'étais dérouté par l'utilisation de diverses parenthèses. Avec une familiarité et une accumulation progressives, j'ai finalement maîtrisé l'utilisation de tous les supports. Maintenant, je voudrais partager avec vous ce que j’ai résumé.

Remarque : Le prérequis pour lire ce document est que vous ayez déjà les bases de la programmation bash et shell.

Parenthèses simples ()

Mais il existe deux fonctions courantes des parenthèses : la substitution de commande et l'initialisation de tableau

Substitution de commande

Lorsque la structure $() est rencontrée, le shell exécute la commande entre parenthèses et renvoie le résultat

# tmp=$(date)
# echo $tmp
Fri Sep 18 10:22:30 CST 2020
Copier après la connexion

Initialiser le tableau

# 初始化数组
lnmp=(linux nginx mysql php)
Copier après la connexion

Double parenthèses (())

Rappelez-vous que les doubles parenthèses ont une La caractéristique est que les mots entre parenthèses doivent être conformes à la syntaxe du langage C et qu'il n'est pas nécessaire d'ajouter le symbole $ lors de l'utilisation de noms de variables.

Les doubles parenthèses sont utilisées plus souvent. Elles peuvent être utilisées pour les calculs de nombres entiers (les décimales ne sont pas prises en charge). Par exemple : $((3+2))

# echo $((1+3))
4
# n1=3
# echo $((n1+7))
10
Copier après la connexion

Tant qu'il est conforme à l'expansion des opérations de la grammaire du langage C, il peut être écrit entre parenthèses

# echo $((3+4>5 ? 1 :0)) 
1
# echo $((3+4>9 ? 1 :0)) 
0
Copier après la connexion

pour réaffecter le À l'heure actuelle, il ne peut pas être ajouté en dehors des parenthèses. Le signe $

# i=1;((i++));echo $i;
2
# i=1;((i=100));echo $i;
100
Copier après la connexion

les doubles crochets sont également souvent utilisés dans les boucles

for ((i=0;i<5;i++));do echo -n $i;done
Copier après la connexion

les crochets simples[. ]

les crochets simples sont les plus utilisés. Ils sont couramment utilisés dans les jugements logiques. De plus, ils peuvent être utilisés comme indice d'un tableau et pour exprimer une plage dans des expressions régulières.

est utilisé pour le jugement conditionnel dans les scripts shell :

if [ 1 > 2 ] then
    ……
fi
Copier après la connexion

peut également être utilisé comme indice d'un tableau. Marqueurs :

# echo ${lnmp[1]}
nginx
Copier après la connexion

sont utilisés dans les expressions régulières pour représenter un. range

[0-9]  表示数子0-9都行
Copier après la connexion

les parenthèses double face

sont les mêmes que les parenthèses simples sont également utilisées dans les jugements conditionnels, mais elles sont plus nombreuses. général que les crochets simples. Voici un exemple :

[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ]
改成双括号
[[ a > b && a > 0 ]]
Copier après la connexion

Attelle bouclée simple {}

Extension d'accolade bouclée. (globbing) développera le nom du fichier entre accolades. Entre accolades, aucun espace n’est autorisé à moins que l’espace ne soit cité ou échappé.

Par exemple, saisir la commande rm -f {1,2}.txt supprimera les fichiers 1.txt et 2.txt.

Le rôle de .. entre accolades simples

Les deux points ici représentent une plage. Par exemple, les accolades

echo {1..10}  #将打印1,2,3,4,5,6,7,8,9,10
Copier après la connexion

sont également couramment utilisées dans les scripts shell pour les blocs de code.

En plus de la première fois, des accolades simples peuvent également être utilisées pour la substitution et la suppression du contenu variable et pour tester le contenu variable. Un exemple courant est donné. Nous déterminons souvent si une variable existe et, si elle n'existe pas, lui attribuons une nouvelle valeur.

val=${n1:-test}
Copier après la connexion

Le code ci-dessus signifie que si la variable n1 n'existe pas ou est vide, la valeur de la variable val est définie sur test, sinon la valeur val est la valeur de la variable n1

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

À quoi sert Linux? À quoi sert Linux? Apr 12, 2025 am 12:20 AM

Linux convient aux serveurs, aux environnements de développement et aux systèmes intégrés. 1. En tant que système d'exploitation de serveurs, Linux est stable et efficace, et est souvent utilisé pour déployer des applications à haute monnaie. 2. En tant qu'environnement de développement, Linux fournit des outils de ligne de commande efficaces et des systèmes de gestion des packages pour améliorer l'efficacité du développement. 3. Dans les systèmes intégrés, Linux est léger et personnalisable, adapté aux environnements avec des ressources limitées.

Utilisation de Docker avec Linux: un guide complet Utilisation de Docker avec Linux: un guide complet Apr 12, 2025 am 12:07 AM

L'utilisation de Docker sur Linux peut améliorer l'efficacité du développement et du déploiement. 1. Installez Docker: utilisez des scripts pour installer Docker sur Ubuntu. 2. Vérifiez l'installation: exécutez Sudodockerrunhello-world. 3. Utilisation de base: Créez un conteneur Nginx Dockerrunrun-namemy-nginx-p8080: 80-dnginx. 4. Utilisation avancée: créez une image personnalisée, construisez et exécutez à l'aide de dockerfile. 5. Optimisation et meilleures pratiques: suivez les meilleures pratiques pour écrire des dockerfiles à l'aide de builds en plusieurs étapes et de dockercosive.

Comment démarrer Apache Comment démarrer Apache Apr 13, 2025 pm 01:06 PM

Les étapes pour démarrer Apache sont les suivantes: Installez Apache (Commande: Sudo apt-get install Apache2 ou téléchargez-le à partir du site officiel) Start Apache (Linux: Sudo SystemCTL Démarrer Apache2; Windows: Cliquez avec le bouton droit sur le service "APACHE2.4" et SELECT ") Vérifiez si elle a été lancée (Linux: SUDO SYSTEMCTL STATURE APACHE2; (Facultatif, Linux: Sudo SystemCTL

Que faire si le port Apache80 est occupé Que faire si le port Apache80 est occupé Apr 13, 2025 pm 01:24 PM

Lorsque le port Apache 80 est occupé, la solution est la suivante: découvrez le processus qui occupe le port et fermez-le. Vérifiez les paramètres du pare-feu pour vous assurer qu'Apache n'est pas bloqué. Si la méthode ci-dessus ne fonctionne pas, veuillez reconfigurer Apache pour utiliser un port différent. Redémarrez le service Apache.

Comment commencer la surveillance d'Oracle Comment commencer la surveillance d'Oracle Apr 12, 2025 am 06:00 AM

Les étapes pour démarrer un écouteur Oracle sont les suivantes: cochez l'état de l'écouteur (en utilisant la commande LSNRCTL Status) pour Windows, démarrez le service "TNS Écouteur" dans Oracle Services Manager pour Linux et Unix, utilisez la commande LSNRCTL LSNRCTL pour démarrer l'auditeur pour exécuter la commande LSNRCTL STAT

Comment surveiller les performances de Nginx SSL sur Debian Comment surveiller les performances de Nginx SSL sur Debian Apr 12, 2025 pm 10:18 PM

Cet article décrit comment surveiller efficacement les performances SSL des serveurs Nginx sur les systèmes Debian. Nous utiliserons NginxExporter pour exporter des données d'état NGINX à Prometheus, puis l'afficher visuellement via Grafana. Étape 1: Configuration de Nginx Tout d'abord, nous devons activer le module Stub_Status dans le fichier de configuration NGINX pour obtenir les informations d'état de Nginx. Ajoutez l'extrait suivant dans votre fichier de configuration Nginx (généralement situé dans /etc/nginx/nginx.conf ou son fichier incluant): emplacement / nginx_status {Stub_status

Comment configurer un bac de recyclage dans le système Debian Comment configurer un bac de recyclage dans le système Debian Apr 12, 2025 pm 10:51 PM

Cet article présente deux méthodes de configuration d'un bac de recyclage dans un système Debian: une interface graphique et une ligne de commande. Méthode 1: Utilisez l'interface graphique Nautilus pour ouvrir le gestionnaire de fichiers: Recherchez et démarrez le gestionnaire de fichiers Nautilus (généralement appelé "fichier") dans le menu de bureau ou d'application. Trouvez le bac de recyclage: recherchez le dossier de bac de recyclage dans la barre de navigation gauche. S'il n'est pas trouvé, essayez de cliquer sur "Autre emplacement" ou "ordinateur" pour rechercher. Configurer les propriétés du bac de recyclage: cliquez avec le bouton droit sur "Recycler le bac" et sélectionnez "Propriétés". Dans la fenêtre Propriétés, vous pouvez ajuster les paramètres suivants: Taille maximale: Limitez l'espace disque disponible dans le bac de recyclage. Temps de rétention: définissez la préservation avant que le fichier ne soit automatiquement supprimé dans le bac de recyclage

Comment redémarrer le serveur Apache Comment redémarrer le serveur Apache Apr 13, 2025 pm 01:12 PM

Pour redémarrer le serveur Apache, suivez ces étapes: Linux / MacOS: Exécutez Sudo SystemCTL Restart Apache2. Windows: Exécutez net stop apache2.4 puis net start apache2.4. Exécuter netstat -a | Findstr 80 pour vérifier l'état du serveur.

See all articles