Linux: Introduction à Shell, BASH et Shell Script

coquille

Qu'est-ce que Shell

Shell (programme shell) est l'interface utilisateur du système, qui fournit une interface permettant à l'utilisateur d'interagir avec le noyau. Il reçoit la commande saisie par l'utilisateur et l'envoie au noyau pour exécution.

Insérez la description de l'image ici

En fait, Shell est un interpréteur de commandes, qui interprète les commandes entrées par l'utilisateur et les envoie au noyau. Non seulement cela, Shell a son propre langage de programmation pour l'édition des commandes, qui permet aux utilisateurs d'écrire des programmes composés de commandes shell. Le langage de programmation Shell a de nombreuses caractéristiques des langages de programmation ordinaires, par exemple, il a également une structure de boucle et une structure de contrôle de branche, etc. Les programmes Shell écrits dans ce langage de programmation ont le même effet que les autres applications

Tant que le logiciel qui peut faire fonctionner le programme d'application peut être appelé un programme shell, le programme shell étroit fait référence au logiciel de ligne de commande , tel que le BASH décrit plus loin dans cet article; le programme large shell comprend le logiciel du mode d'interface utilisateur graphique, car les graphiques L'interface utilisateur peut également faire fonctionner diverses applications pour appeler le travail du noyau

FRAPPER

Qu'est-ce que BASH

Shell a de nombreuses versions différentes selon son développement, BASH est l'une d'entre elles, BASH (Bourne Again Shell) est la version utilisée par Linux par défaut

Fonction de variable Shell

variable

Les variables sont des types de données utilisés par les systèmes informatiques pour stocker des valeurs de variables. Nous pouvons directement extraire la valeur de variable correspondante via le nom de la variable. Il s'agit de remplacer certains paramètres ou une chaîne de données réservées par un ensemble de mots ou de symboles.
Insérez la description de l'image ici

Variable d'environnement

Dans les systèmes Linux, les variables d'environnement sont utilisées pour définir certains paramètres de l'environnement d'exploitation du système, tels que les différents répertoires personnels (HOME) et l'emplacement de stockage du courrier (MAIL) de chaque utilisateur. Afin de les distinguer des variables personnalisées, les variables d'environnement sont généralement exprimées en majuscules

En tant que système d'exploitation multi-utilisateurs et multi-tâches, Linux peut fournir à chaque utilisateur un environnement de travail indépendant et adapté. Par conséquent, une même variable d'environnement aura des valeurs différentes en raison de différentes identités d'utilisateur. Comme indiqué ci-dessous:
Insérez la description de l'image ici

Utilisation et paramétrage des variables: echo, =, unset

echo : vous pouvez utiliser la commande echo pour utiliser des variables. Lorsque des variables sont utilisées, elles doivent être précédées du signe dollar $. Par exemple, pour afficher le contenu de la variable PATH:

echo $PATH

Insérez la description de l'image ici
= : Utilisez = pour définir ou modifier le contenu d'une variable. Par exemple, pour définir le contenu de la variable myname sur WangGarrison, alors:

myname=WangGarrison

Insérez la description de l'image ici
Lors de la définition des variables, elles doivent respecter certaines réglementations, sinon le paramètre échouera. Les règles sont les suivantes:

  1. Les contenus variables et variables sont connectés avec un =
  2. Aucun espace n'est autorisé des deux côtés du signe égal
  3. Les noms de variable ne peuvent être que des lettres et des chiffres anglais et ne peuvent pas commencer par des chiffres
  4. Il y a des espaces dans le contenu de la variable, vous pouvez utiliser des guillemets simples ou doubles pour entourer la variable

unset : unset peut annuler la variable, par exemple, annuler le paramétrage de myname:

unset myname

Insérez la description de l'image ici

Fonction des variables d'environnement

Les variables d'environnement peuvent nous aider à réaliser de nombreuses fonctions, y compris la conversion du répertoire racine (dossier de départ), l'affichage des caractères d'invite, le chemin pour effectuer la recherche de fichiers, etc.

Vous pouvez utiliser les commandes env et export pour afficher les variables d'environnement par défaut de l'environnement shell actuel. Env est l'abréviation de environment

env

Insérez la description de l'image ici
Les 10 variables d'environnement importantes de Linux sont les suivantes:

Nom de la variable d'environnement effet
DOMICILE Répertoire personnel de l'utilisateur
COQUILLE Nom de l'interpréteur Shell utilisé par l'utilisateur
CHEMIN Chemin pour effectuer la recherche de fichiers
ÉDITEUR Interpréteur de texte par défaut de l'utilisateur
ALÉATOIRE Variable de nombre aléatoire
LANG Données linguistiques
HISTSIZE Nombre d'enregistrements de commandes historiques sortis
HISTFILESIZE Nombre d'enregistrements de commandes historiques enregistrés
PS1 Interpréteur Prompt of Bash
COURRIER Chemin pour enregistrer les e-mails

Utilisez la commande set pour afficher toutes les variables (y compris les variables d'environnement et les variables personnalisées)

set

Convertir des variables personnalisées en variables d'environnement

La principale différence entre une variable personnalisée et une variable d'environnement est que la variable d'environnement continuera à être référencée par le processus enfant, contrairement à la variable personnalisée. La corrélation entre le processus parent et le processus enfant est la suivante: le
Insérez la description de l'image ici
processus enfant n'hérite que des variables d'environnement du processus parent, et le processus enfant n'en hérite pas Héritera des variables personnalisées du processus parent. Par conséquent, les variables personnalisées bash d'origine ne peuvent pas être utilisées dans le processus enfant après être entré dans le processus enfant et ne peuvent pas être utilisées tant que le processus enfant n'est pas terminé.

Donc, si vous voulez que les variables personnalisées du processus parent soient utilisées dans le processus enfant, vous devez convertir les variables personnalisées en variables d'environnement et utiliser la commande d'exportation pour convertir

export 变量名称

Introduction spécifique de la commande d'exportation

Lecture, tableau et déclaration variables du clavier

read : utilisé pour lire les variables entrées depuis le clavier, qui peuvent être utilisées pour interagir avec l'utilisateur

read [-pt] variable  #-p后面可以接提示字符   -t后面可以接等待的秒数

Insérez la description de l'image ici
déclarer, composer : déclarer ou composer est la même fonction, qui consiste à déclarer le type de la variable

declare [-aixr] variable
-a:将后面名为variable的变量定义成为数组(array)类型
-i:将后面名为variable的变量定义成为整数(integer)类型
-x:用法与export一样,就是将后面的variable变成环境变量
-r:将变量设置成为readonly类型,该变量不可被更改内容,也不能unset

Par défaut, le type de variable par défaut est string, comme indiqué dans la figure ci-dessous, la variable a par défaut est string 2 + 3 + 4
Insérez la description de l'image ici
type de variable tableau

var[index]=content  #数组名为var,下标是index,内容是content,

Par exemple:
Insérez la description de l'image ici

Alias ​​de commande et commandes historiques

Paramètre d' alias de commande : alias, unalias

alias lm='ls -al | more'  #把ls -al |more命令简化为lm

Vous pouvez saisir directement alias pour voir quels alias de commande sont actuellement disponibles. Comme indiqué ci-dessous:
Insérez la description de l'image ici
supprimer l'alias de commande

unalias lm

Commande historique

history [n]  
history [-c]  
history [-raw]
选项与参数:
n:列出最近的n条命令行表
-c:将目前的shell中的所有history内容全部清除
-a:将目前新增的history命令新增入histfiles中,若没有histfiles,则默认写入~/.bash_history
-r:将histfiles的内容读到目前这个shell的history中
-w:将目前的history记录内容写到histfiles中

Lorsque nous nous connectons à l'hôte Linux avec bash, le système lira activement les commandes précédemment exécutées depuis le répertoire personnel ~ / .bash_history. Le nombre de données enregistrées dans ce répertoire est lié à la variable d'environnement HISTFILESIZE de bash.

Script Shell

Qu'est-ce que ShellScript

Shell Script est un script shell, qui est un script écrit pour le shell. Nous écrivons une partie de la grammaire et des commandes spécifiées par le shell, ainsi que des fonctions telles que les expressions régulières, les commandes de pipeline et la redirection de flux de données, dans un fichier texte brut pour atteindre le but de traitement souhaité, puis nous ajoutons l'extension ".sh". , Ceci est un "script Shell"

En bref, nous ne pouvons réussir à communiquer avec l'ordinateur qu'en interprétant nos commandes et autres requêtes via l'outil Shell. En même temps, avec le script Shell, un «programme» qui peut traiter les commandes par lots, nous pouvons mieux communiquer avec l'ordinateur.

Livres de référence

"La cuisine privée Linux de Niaoge" Quatrième édition Chapitre 10 Comprendre et apprendre BASH

Je suppose que tu aimes

Origine blog.csdn.net/huifaguangdemao/article/details/108393856
conseillé
Classement